diff --git a/.docker/Dockerfile.dev b/.docker/Dockerfile.dev index 278f1c9..baa0853 100644 --- a/.docker/Dockerfile.dev +++ b/.docker/Dockerfile.dev @@ -9,6 +9,8 @@ RUN yarn build:dev FROM nginx:latest +RUN rm /etc/nginx/conf.d/default.conf +COPY .docker/nginx.conf /etc/nginx/conf.d/ COPY --from=builder-web /app/build/dist /usr/share/nginx/html EXPOSE 80 diff --git a/.docker/Dockerfile.prod b/.docker/Dockerfile.prod index 8ecb330..afa2219 100644 --- a/.docker/Dockerfile.prod +++ b/.docker/Dockerfile.prod @@ -9,6 +9,8 @@ RUN yarn build FROM nginx:latest +RUN rm /etc/nginx/conf.d/default.conf +COPY .docker/nginx.conf /etc/nginx/conf.d/ COPY --from=builder-web /app/build/dist /usr/share/nginx/html EXPOSE 80 diff --git a/.docker/Dockerfile.stage b/.docker/Dockerfile.stage index 92723fc..6df8617 100644 --- a/.docker/Dockerfile.stage +++ b/.docker/Dockerfile.stage @@ -9,6 +9,8 @@ RUN yarn build:stage FROM nginx:latest +RUN rm /etc/nginx/conf.d/default.conf +COPY .docker/nginx.conf /etc/nginx/conf.d/ COPY --from=builder-web /app/build/dist /usr/share/nginx/html EXPOSE 80 diff --git a/.docker/nginx.conf b/.docker/nginx.conf new file mode 100644 index 0000000..06f4b36 --- /dev/null +++ b/.docker/nginx.conf @@ -0,0 +1,9 @@ +server { + listen 80; + listen [::]:80; + + location / { + root /usr/share/nginx/html; + try_files $uri $uri/ /index.html; + } +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..de2e4b5 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,30 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# Top-most EditorConfig file +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.css] +indent_size = 4 + +[*.scss] +indent_size = 4 + +[*.js] +indent_size = 4 + +[*.json] +indent_size = 2 + +[*.yaml] +indent_size = 2 + +[*.yml] +indent_size = 2 diff --git a/.github/workflows/build-and-push-develop.yml b/.github/workflows/build-and-push-develop.yml index 8f8a10c..ff605c1 100644 --- a/.github/workflows/build-and-push-develop.yml +++ b/.github/workflows/build-and-push-develop.yml @@ -8,13 +8,17 @@ jobs: build_and_deploy_dev: runs-on: ubuntu-latest permissions: - contents: read + contents: write packages: write actions: write steps: - name: Checkout code uses: actions/checkout@v4 + - name: Set commit sha + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -41,4 +45,32 @@ jobs: file: ./.docker/Dockerfile.dev platforms: linux/amd64,linux/arm64 push: true - tags: ghcr.io/${{ env.REPO_LC }}-dev:latest + tags: ghcr.io/${{ env.REPO_LC }}-dev:latest, ghcr.io/${{ env.REPO_LC }}-dev:${{ env.COMMIT_SHA }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Initialize mandatory git config + run: | + git config --global user.name 'GitHub Actions' + git config --global user.email 'noreply@github.com' + + - name: Bump version in values/develop.yaml + run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/develop.yaml + + - name: Commit k8s values files + id: make-commit + run: | + git add ./k8s/values/develop.yaml + git commit --message "Update dev image to commit ${{ env.COMMIT_SHA }}" + + echo "::set-output name=commit::$(git rev-parse HEAD)" + + - name: Push changes + uses: CasperWA/push-protected@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: develop diff --git a/.github/workflows/build-and-push-stage.yml b/.github/workflows/build-and-push-stage.yml index 7b13654..dcee647 100644 --- a/.github/workflows/build-and-push-stage.yml +++ b/.github/workflows/build-and-push-stage.yml @@ -1,5 +1,6 @@ name: Build and Push Docker Image Staging "on": + workflow_dispatch: push: branches: - release/* @@ -9,7 +10,7 @@ jobs: build_and_deploy_stage: runs-on: ubuntu-latest permissions: - contents: read + contents: write packages: write actions: write steps: @@ -37,6 +38,11 @@ jobs: echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV + - name: Extract version from input (for manual workflow dispatch) + if: github.event_name == 'workflow_dispatch' + run: | + echo "RELEASE_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -56,11 +62,75 @@ jobs: env: REPO: "${{ github.repository }}" - - name: Build and push + - name: Set commit sha + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + + - name: Build and push Version + if: github.event_name == 'push' + uses: docker/build-push-action@v5 + with: + context: . + file: ./.docker/Dockerfile.stage + platforms: linux/amd64,linux/arm64 + push: true + tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:latest, ghcr.io/${{ env.REPO_LC }}-stage:${{ env.COMMIT_SHA }} + + - name: Build and push Version + if: github.event_name == 'workflow_dispatch' uses: docker/build-push-action@v5 with: context: . file: ./.docker/Dockerfile.stage platforms: linux/amd64,linux/arm64 push: true - tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:lastest + tags: ghcr.io/${{ env.REPO_LC }}-stage:latest, ghcr.io/${{ env.REPO_LC }}-stage:${{ env.COMMIT_SHA }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Initialize mandatory git config + run: | + git config --global user.name 'GitHub Actions' + git config --global user.email 'noreply@github.com' + + - name: Bump version in values/stage.yaml + run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/stage.yaml + + - name: Commit k8s values files + id: make-commit + run: | + git add ./k8s/values/stage.yaml + git commit --message "Update stage image to commit ${{ env.COMMIT_SHA }}" + + echo "::set-output name=commit::$(git rev-parse HEAD)" + + - name: Push changes + uses: CasperWA/push-protected@v2 + if: github.event_name == 'push' + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: release/${{ env.RELEASE_VERSION }} + + - name: Push changes + uses: CasperWA/push-protected@v2 + if: github.event_name == 'workflow_dispatch' + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: develop + + - name: Delete tag + uses: dev-drprasad/delete-tag-and-release@v1.1 + with: + tag_name: stage-deployment + delete_release: false + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Create tag + run: git tag -fa 'stage-deployment' -m "Update tag to commit ${{ env.COMMIT_SHA }}" + + - name: Push tag + run: git push origin stage-deployment diff --git a/.github/workflows/build-on-pr.yml b/.github/workflows/build-on-pr.yml new file mode 100644 index 0000000..a4e3cf4 --- /dev/null +++ b/.github/workflows/build-on-pr.yml @@ -0,0 +1,31 @@ +name: "Build project on PR" + +on: + pull_request: + branches: + - develop + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: read + actions: read + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: .node-version + + - name: Install Yarn + run: npm install -g yarn + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Build project + run: yarn build diff --git a/.github/workflows/cleanup_pull_request.yaml b/.github/workflows/cleanup_pull_request.yaml new file mode 100644 index 0000000..f9cb46f --- /dev/null +++ b/.github/workflows/cleanup_pull_request.yaml @@ -0,0 +1,72 @@ +name: 'Cleanup Pull Request' +on: + pull_request: + types: [closed] + +jobs: + check-resources: + name: "Check Resources" + runs-on: ubuntu-latest + outputs: + helm_exists: ${{ steps.check_helm.outputs.exists }} + namespace_exists: ${{ steps.check_namespace.outputs.exists }} + + steps: + - name: Kubernetes login + uses: azure/k8s-set-context@v4 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + + - name: Check Helm Chart + id: check_helm + run: | + RELEASE_NAME=project-website-pr-${{ github.event.number }} + if helm list --all --namespace $RELEASE_NAME | grep $RELEASE_NAME; then + echo "::set-output name=exists::true" + else + echo Helm Chart $RELEASE_NAME does not exist + echo "::set-output name=exists::false" + fi + + - name: Check Namespace + id: check_namespace + run: | + NAMESPACE=project-website-pr-${{ github.event.number }} + if kubectl get namespace $NAMESPACE; then + echo "::set-output name=exists::true" + else + echo Namespace $NAMESPACE does not exist + echo "::set-output name=exists::false" + fi + + cleanup-pr: + name: "Cleanup Pull Request" + runs-on: ubuntu-latest + needs: check-resources + if: needs.check-resources.outputs.helm_exists == 'true' || needs.check-resources.outputs.namespace_exists == 'true' + continue-on-error: true + permissions: + contents: read + packages: write + actions: write + pull-requests: write + + steps: + - name: Kubernetes login + uses: azure/k8s-set-context@v4 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + + - name: Delete Helm Chart + if: needs.check-resources.outputs.helm_exists == 'true' + run: | + RELEASE_NAME=project-website-pr-${{ github.event.number }} + helm delete $RELEASE_NAME --namespace $RELEASE_NAME + + - name: Delete Namespace + if: needs.check-resources.outputs.namespace_exists == 'true' + run: | + NAMESPACE=project-website-pr-${{ github.event.number }} + kubectl delete namespace $NAMESPACE diff --git a/.github/workflows/deploy_pull_request.yaml b/.github/workflows/deploy_pull_request.yaml new file mode 100644 index 0000000..4234314 --- /dev/null +++ b/.github/workflows/deploy_pull_request.yaml @@ -0,0 +1,89 @@ +name: "Deploy Pull Request" +on: + pull_request: + types: [labeled] + +jobs: + deploy_pr: + name: "Deploy Pull Request" + runs-on: ubuntu-latest + if: ${{ github.event.label.name == 'deploy' }} + permissions: + contents: read + packages: write + actions: write + pull-requests: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: set lower case owner name + run: | + echo "REPO_LC=${REPO,,}" >>${GITHUB_ENV} + env: + REPO: "${{ github.repository }}" + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./.docker/Dockerfile.dev + platforms: linux/amd64,linux/arm64 + push: true + tags: ghcr.io/${{ env.REPO_LC }}-dev:pr-${{ github.event.number }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Change values in on-pr.yaml + run: | + yq -i ' + .ingress.hosts[0].name = "pr-${{ github.event.number }}.website.dev.green-ecolution.de" | + .deployment.image.tag = "pr-${{ github.event.number }}" | + .deployment.name = "project-website-pr-${{ github.event.number }}" | + .deployment.namespace = "project-website-pr-${{ github.event.number }}" + ' ./k8s/values/develop.yaml + + - name: Kubernetes login + uses: azure/k8s-set-context@v4 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + + - name: Install Helm Chart + run: | + helm upgrade project-website-pr-${{ github.event.number }} ./k8s \ + --install \ + --namespace project-website-pr-${{ github.event.number }} \ + --create-namespace \ + --wait \ + --values ./k8s/values.yaml \ + --values ./k8s/values/develop.yaml + + - name: Post comment to Pull Request + uses: thollander/actions-comment-pull-request@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + message: | + Deployment of PR #${{ github.event.number }} successful :rocket: + + You can access the deployment at [pr-${{ github.event.number }}.website.dev.green-ecolution.de](https://pr-${{ github.event.number }}.website.dev.green-ecolution.de) to review the changes :eyes: + + :warning: **Please note that this deployment is temporary and will be deleted after the PR is closed.** diff --git a/.github/workflows/draft-new-release.yml b/.github/workflows/draft-new-release.yml index 76d3aa8..061f4d1 100644 --- a/.github/workflows/draft-new-release.yml +++ b/.github/workflows/draft-new-release.yml @@ -35,6 +35,16 @@ jobs: - name: Bump version in package.json run: yarn version --new-version ${{ github.event.inputs.version }} --no-git-tag-version + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name : Bump version in values/prod.yaml + run: | + yq -i '.deployment.image.tag="${{ github.event.inputs.version }}"' ./k8s/values/prod.yaml + - name: Commit changelog and manifest files id: make-commit run: | @@ -54,7 +64,7 @@ jobs: head: release/${{ github.event.inputs.version }} base: main title: Release version ${{ github.event.inputs.version }} - reviewers: ${{ github.actor }} + reviewers: ${{ github.actor }} body: | Hi @${{ github.actor }}! 👋 @@ -66,7 +76,7 @@ jobs: build_and_deploy_stage: runs-on: ubuntu-latest permissions: - contents: read + contents: write packages: write actions: write steps: @@ -98,11 +108,55 @@ jobs: env: REPO: "${{ github.repository }}" + - name: Set commit sha + run: | + echo "COMMIT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV + - name: Build and push Version uses: docker/build-push-action@v5 with: context: . - file: ./Dockerfile + file: ./.docker/Dockerfile.stage platforms: linux/amd64,linux/arm64 push: true - tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:lastest + tags: ghcr.io/${{ env.REPO_LC }}-stage:${{ env.RELEASE_VERSION }}-preview, ghcr.io/${{ env.REPO_LC }}-stage:latest, ghcr.io/${{ env.REPO_LC }}-stage:${{ env.COMMIT_SHA }} + + - name: "Setup yq" + uses: dcarbone/install-yq-action@v1.1.1 + with: + version: "v4.42.1" + force: true + + - name: Initialize mandatory git config + run: | + git config --global user.name 'GitHub Actions' + git config --global user.email 'noreply@github.com' + + - name: Bump version in values/stage.yaml + run: yq -i '.deployment.image.tag=strenv(COMMIT_SHA)' ./k8s/values/stage.yaml + + - name: Commit k8s values files + id: make-commit + run: | + git add ./k8s/values/stage.yaml + git commit --message "Update stage image to commit ${{ env.COMMIT_SHA }}" + + echo "::set-output name=commit::$(git rev-parse HEAD)" + + - name: Push changes + uses: CasperWA/push-protected@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: release/${{ github.event.inputs.version }} + + - name: Delete tag + uses: dev-drprasad/delete-tag-and-release@v1.1 + with: + tag_name: stage-deployment + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Create tag + run: git tag -fa 'stage-deployment' -m "Update tag to commit ${{ env.COMMIT_SHA }}" + + - name: Push tag + run: git push origin tag stage-deployment diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ccd4be..7f5e85e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,19 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [v0.0.1] - 2024-05-26 +## [v1.0.0] - 2024-07-06 + +### Added + +- feat: update readme (#25) +- feat: add stakeholder section as slider (#26) +- feat: add introduction section (#30) +- feat: add favicons (#31) +- feat: add current process section (#36) +- feat: add project page (#41) +- feat: add dashboard preview section (#43) +- feat: add advantages section (#45) +- feat: add contact section (#46) +- feat: add homepage hero (#50) +- feat: add contact page (#53) +- feat: add not found page (#54) +- feat: add hero homepage overlays (#56) +- feat: add background to sections (#59) ### Changed -- Improve CI/CD pipeline +- Improve CI/CD pipeline for deployment, staging and production -## [0.0.0] - 2024-05-22 +## [v0.0.1] - 2024-05-26 -### Added +### Changed +- Improve CI/CD pipeline - Initial release - Create "Page under construction" Page -[Unreleased]: https://github.com/SmartCityFlensburg/project-website/compare/v0.0.1...HEAD +[Unreleased]: https://github.com/SmartCityFlensburg/project-website/compare/v1.0.0...HEAD + +[v1.0.0]: https://github.com/SmartCityFlensburg/project-website/compare/v0.0.1...v1.0.0 -[v0.0.1]: https://github.com/SmartCityFlensburg/project-website/compare/472d9c0...v0.0.1 +[v0.0.1]: https://github.com/SmartCityFlensburg/project-website/releases/tag/v0.0.1 diff --git a/README.md b/README.md index 95e11b6..8c5e91f 100644 --- a/README.md +++ b/README.md @@ -1 +1,74 @@ # Projekt Website + +This repository contains the source code for the Green Ecolution project website. The website is built using React, Tailwind CSS, Vite and TypeScript and is deployed using GitHub Actions and Helm. The deployment is done on a Kubernetes cluster. The site is deployed to three environments: Development, Staging and Production. + +## Tech Stack + +- [Vite](https://vitejs.dev/) +- [React](https://reactjs.org/) +- [TypeScript](https://www.typescriptlang.org/) +- [Tailwind CSS](https://tailwindcss.com/) + +## Set up the project + +### Requirements + +- [Node.js](https://nodejs.org/en) +- [Yarn](https://yarnpkg.com/) +- [fnm](https://github.com/Schniz/fnm) (optional) + +fnm is optional, but it is recommended to use it to manage Node.js versions. + +### Local development + +First, clone the repository and run the following command to install the project dependencies: + +```bash +yarn install +``` + +Vite is used for the development server. To start the development server, run the following command: + +```bash +yarn dev +``` + +Vite will start a development server at `http://localhost:5173`. Add the `--host` tag to the command to allow access to the server from other devices on the same network. + +### Building the project + +There are three build modes: `develop`, `stage` and `production`. To build the project in one of the build modes, run the following command: + +```bash +yarn build:dev # for development environment +yarn build:stage # for staging environment +yarn build # for production environment +``` + +The build will be output to the `dist` directory. + +## Deployment + +There are three environments for the project: + +- Development (Automatically deployed on push to `develop` branch) +- Staging (Automatically deployed when a new release is drafted) +- Production (Manually deployed when a new release is published to the `main` branch) + +The deployment is done using GitHub Actions and the deployment configuration is located in the `.github/workflows` directory. + +For each environment, the deployment workflow will run the following steps: + +1. Install the project dependencies +2. Build the project +3. Push package to GitHub Package Registry (see [GitHub Package Registry](https://github.com/orgs/SmartCityFlensburg/packages?repo_name=project-website)) +4. Dump version in helm chart values (version tag or commit hash) +5. Deploy the project to the environment + +The deployment is done using Helm and the deployment configuration is located in the `k8s` directory. The deployment configuration is stored in the `k8s/values` directory. Inside the `values` directory, there are three files: `develop.yaml`, `stage.yaml` and `prod.yaml`. The deployment configuration for each environment is stored in the respective file. + +Each environment has its own url: + +- Development: [https://dev.green-ecolution.de](https://dev.green-ecolution.de) +- Staging: [https://stage.green-ecolution.de](https://stage.green-ecolution.de) +- Production: [https://green-ecolution.de](https://green-ecolution.de) diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..dea1576 Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html index d4df618..7b937fd 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,31 @@ - - - - - - Green Ecolution - - -
- - + + + + + Green Ecolution | Smartes Grünflächenmanagement + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/k8s/templates/ingress.yaml b/k8s/templates/ingress.yaml index de37023..7b29560 100644 --- a/k8s/templates/ingress.yaml +++ b/k8s/templates/ingress.yaml @@ -3,20 +3,32 @@ kind: Ingress metadata: name: {{ .Values.ingress.name }} namespace: {{ .Values.deployment.namespace }} + annotations: + {{- with .Values.ingress.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} spec: ingressClassName: {{ .Values.ingress.className }} rules: {{- range .Values.ingress.hosts }} - - host: {{ .host }} + - host: {{ .name }} http: paths: {{- range .paths }} - path: {{ .path }} - pathType: {{ .pathType }} + pathType: {{ .pathType | default "Prefix" }} backend: service: - name: {{ .service.name }} + name: {{ .backend.serviceName }} port: - number: {{ .service.port }} + number: {{ .backend.servicePort }} {{- end }} {{- end }} + {{- if .Values.ingress.tls.enabled }} + tls: + - hosts: + {{- range .Values.ingress.hosts }} + - {{ .name }} + {{- end }} + secretName: {{ .Values.ingress.tls.secretName }} + {{- end }} diff --git a/k8s/templates/service.yaml b/k8s/templates/service.yaml index 0cf99ee..4d5754e 100644 --- a/k8s/templates/service.yaml +++ b/k8s/templates/service.yaml @@ -11,4 +11,4 @@ spec: targetPort: {{ .Values.service.targetPort | default .Values.service.port }} protocol: {{ .Values.service.protocol | default "TCP"}} selector: - app: {{ .Values.service.name }} + app: {{ .Values.deployment.name }} diff --git a/k8s/values.yaml b/k8s/values.yaml index 875869d..cacb214 100644 --- a/k8s/values.yaml +++ b/k8s/values.yaml @@ -1,13 +1,13 @@ deployment: - annotations: {} - labels: {} - namespace: green-ecolution-project-website - name: project-website - replicaCount: 1 - image: - repository: ghcr.io/smartcityflensburg/project-website - pullPolicy: Always - tag: latest + annotations: {} + labels: {} + namespace: project-website + name: project-website + replicaCount: 1 + image: + repository: ghcr.io/smartcityflensburg/project-website + pullPolicy: Always + tag: latest imagePullSecrets: [] nameOverride: "" @@ -21,41 +21,43 @@ podSecurityContext: {} securityContext: {} service: - name: project-website - type: ClusterIP - port: 80 - protocol: TCP + name: project-website + type: ClusterIP + port: 80 + protocol: TCP ingress: - name: project-website - enabled: true - className: "traefik" - annotations: - - "kubernetes.io/ingress.class: traefik" - hosts: - - host: green-ecolution.de - paths: - - path: / - pathType: ImplementationSpecific - service: - name: project-website - port: 80 - tls: [] + enabled: false + name: project-website-ingress + className: "traefik" + annotations: + cert-manager.io/cluster-issuer: cert-manager + kubernetes.io/ingress.class: traefik + hosts: + - name: green-ecolution.de + paths: + - path: / + pathType: Prefix + backend: + serviceName: project-website + servicePort: 80 + tls: + enabled: true + secretName: green-ecolution-de-tls resources: {} livenessProbe: - httpGet: - path: / - port: http + httpGet: + path: / + port: http readinessProbe: - httpGet: - path: / - port: http + httpGet: + path: / + port: http volumes: [] volumeMounts: [] nodeSelector: {} - diff --git a/k8s/values/develop.yaml b/k8s/values/develop.yaml index 42f7158..14a34fb 100644 --- a/k8s/values/develop.yaml +++ b/k8s/values/develop.yaml @@ -1,8 +1,25 @@ deployment: - namespace: green-ecolution-project-website-dev + namespace: project-website-dev name: project-website-dev replicaCount: 1 image: repository: ghcr.io/smartcityflensburg/project-website-dev pullPolicy: Always - tag: latest + tag: "2bffc5e" +ingress: + enabled: true + className: "traefik" + annotations: + cert-manager.io/cluster-issuer: cert-manager + kubernetes.io/ingress.class: traefik + hosts: + - name: dev.green-ecolution.de + paths: + - path: / + pathType: Prefix + backend: + serviceName: project-website + servicePort: 80 + tls: + enabled: true + secretName: dev-green-ecolution-de-tls diff --git a/k8s/values/prod.yaml b/k8s/values/prod.yaml index ef5e962..9d9efff 100644 --- a/k8s/values/prod.yaml +++ b/k8s/values/prod.yaml @@ -1,8 +1,11 @@ deployment: - namespace: green-ecolution-project-website - name: project-website - replicaCount: 1 - image: - repository: ghcr.io/smartcityflensburg/project-website - pullPolicy: Always - tag: latest + namespace: project-website + name: project-website + replicaCount: 1 + image: + repository: ghcr.io/smartcityflensburg/project-website + pullPolicy: Always + tag: v1.0.0 + +ingress: + enabled: true diff --git a/k8s/values/stage.yaml b/k8s/values/stage.yaml index 247d458..c0473c7 100644 --- a/k8s/values/stage.yaml +++ b/k8s/values/stage.yaml @@ -1,8 +1,25 @@ deployment: - namespace: green-ecolution-project-website-stage + namespace: project-website-stage name: project-website-stage replicaCount: 1 image: repository: ghcr.io/smartcityflensburg/project-website-stage pullPolicy: Always - tag: latest + tag: 92fdc8d +ingress: + enabled: true + className: "traefik" + annotations: + cert-manager.io/cluster-issuer: cert-manager + kubernetes.io/ingress.class: traefik + hosts: + - name: stage.green-ecolution.de + paths: + - path: / + pathType: Prefix + backend: + serviceName: project-website + servicePort: 80 + tls: + enabled: true + secretName: stage-green-ecolution-de-tls diff --git a/package.json b/package.json index e84af78..6163014 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,27 @@ { "name": "project-website", "private": true, - "version": "v0.0.1", + "version": "v1.0.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc && vite build", "build:stage": "tsc && vite build --mode staging", - "build:dev": "tsc && vite build --mode develop", + "build:dev": "vite build --mode develop", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { + "@splidejs/react-splide": "^0.7.12", + "lottie-react": "^2.4.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.23.1" }, "devDependencies": { "@types/react": "^18.2.66", "@types/react-dom": "^18.2.22", + "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/parser": "^7.2.0", "@vitejs/plugin-react": "^4.2.1", diff --git a/public/assets/favicons/android-chrome-144x144.png b/public/assets/favicons/android-chrome-144x144.png new file mode 100644 index 0000000..9f50a62 Binary files /dev/null and b/public/assets/favicons/android-chrome-144x144.png differ diff --git a/public/assets/favicons/android-chrome-192x192.png b/public/assets/favicons/android-chrome-192x192.png new file mode 100644 index 0000000..9801dee Binary files /dev/null and b/public/assets/favicons/android-chrome-192x192.png differ diff --git a/public/assets/favicons/android-chrome-96x96.png b/public/assets/favicons/android-chrome-96x96.png new file mode 100644 index 0000000..d0d9275 Binary files /dev/null and b/public/assets/favicons/android-chrome-96x96.png differ diff --git a/public/assets/favicons/apple-touch-icon.png b/public/assets/favicons/apple-touch-icon.png new file mode 100644 index 0000000..7e37603 Binary files /dev/null and b/public/assets/favicons/apple-touch-icon.png differ diff --git a/public/assets/favicons/favicon-16x16.png b/public/assets/favicons/favicon-16x16.png new file mode 100644 index 0000000..f272463 Binary files /dev/null and b/public/assets/favicons/favicon-16x16.png differ diff --git a/public/assets/favicons/favicon-32x32.png b/public/assets/favicons/favicon-32x32.png new file mode 100644 index 0000000..342e784 Binary files /dev/null and b/public/assets/favicons/favicon-32x32.png differ diff --git a/public/assets/favicons/favicon-48x48.png b/public/assets/favicons/favicon-48x48.png new file mode 100644 index 0000000..1310df1 Binary files /dev/null and b/public/assets/favicons/favicon-48x48.png differ diff --git a/public/assets/favicons/favicon.svg b/public/assets/favicons/favicon.svg new file mode 100644 index 0000000..956439f --- /dev/null +++ b/public/assets/favicons/favicon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/assets/favicons/ms-icon-150x150.png b/public/assets/favicons/ms-icon-150x150.png new file mode 100644 index 0000000..3978732 Binary files /dev/null and b/public/assets/favicons/ms-icon-150x150.png differ diff --git a/public/assets/images/logo/hochschule-flensburg.png b/public/assets/images/logo/hochschule-flensburg.png new file mode 100644 index 0000000..766c76d Binary files /dev/null and b/public/assets/images/logo/hochschule-flensburg.png differ diff --git a/public/assets/images/logo/smarte-grenzregion.png b/public/assets/images/logo/smarte-grenzregion.png new file mode 100644 index 0000000..343747c Binary files /dev/null and b/public/assets/images/logo/smarte-grenzregion.png differ diff --git a/public/assets/images/logo/tbz.png b/public/assets/images/logo/tbz.png new file mode 100644 index 0000000..fd606d0 Binary files /dev/null and b/public/assets/images/logo/tbz.png differ diff --git a/public/assets/images/open-graph-image.png b/public/assets/images/open-graph-image.png new file mode 100644 index 0000000..134463e Binary files /dev/null and b/public/assets/images/open-graph-image.png differ diff --git a/public/assets/svg/background/footer-desktop.svg b/public/assets/svg/background/footer-desktop.svg new file mode 100644 index 0000000..f313dce --- /dev/null +++ b/public/assets/svg/background/footer-desktop.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/background/footer-mobile.svg b/public/assets/svg/background/footer-mobile.svg new file mode 100644 index 0000000..e68c155 --- /dev/null +++ b/public/assets/svg/background/footer-mobile.svg @@ -0,0 +1,3 @@ + diff --git a/public/assets/svg/background/general-dark-dot.svg b/public/assets/svg/background/general-dark-dot.svg new file mode 100644 index 0000000..829427b --- /dev/null +++ b/public/assets/svg/background/general-dark-dot.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/background/general-light-dot.svg b/public/assets/svg/background/general-light-dot.svg new file mode 100644 index 0000000..3c3ed41 --- /dev/null +++ b/public/assets/svg/background/general-light-dot.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/background/general-yellow-dot.svg b/public/assets/svg/background/general-yellow-dot.svg new file mode 100644 index 0000000..c1b101a --- /dev/null +++ b/public/assets/svg/background/general-yellow-dot.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/general/eye.svg b/public/assets/svg/general/eye.svg new file mode 100644 index 0000000..923c682 --- /dev/null +++ b/public/assets/svg/general/eye.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/svg/general/gateway.svg b/public/assets/svg/general/gateway.svg new file mode 100644 index 0000000..abee0a6 --- /dev/null +++ b/public/assets/svg/general/gateway.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/assets/svg/general/location.svg b/public/assets/svg/general/location.svg new file mode 100644 index 0000000..7651b00 --- /dev/null +++ b/public/assets/svg/general/location.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/svg/general/map.svg b/public/assets/svg/general/map.svg new file mode 100644 index 0000000..6722552 --- /dev/null +++ b/public/assets/svg/general/map.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/general/mobile.svg b/public/assets/svg/general/mobile.svg new file mode 100644 index 0000000..464574a --- /dev/null +++ b/public/assets/svg/general/mobile.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/general/reduce.svg b/public/assets/svg/general/reduce.svg new file mode 100644 index 0000000..5f757db --- /dev/null +++ b/public/assets/svg/general/reduce.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/general/sensor.svg b/public/assets/svg/general/sensor.svg new file mode 100644 index 0000000..ae62985 --- /dev/null +++ b/public/assets/svg/general/sensor.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/svg/general/statistics.svg b/public/assets/svg/general/statistics.svg new file mode 100644 index 0000000..5f31d4e --- /dev/null +++ b/public/assets/svg/general/statistics.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/svg/general/tensiometer.svg b/public/assets/svg/general/tensiometer.svg new file mode 100644 index 0000000..9a9b45e --- /dev/null +++ b/public/assets/svg/general/tensiometer.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/public/assets/svg/general/tree.svg b/public/assets/svg/general/tree.svg new file mode 100644 index 0000000..e07a76c --- /dev/null +++ b/public/assets/svg/general/tree.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/svg/general/wlan.svg b/public/assets/svg/general/wlan.svg new file mode 100644 index 0000000..983dd99 --- /dev/null +++ b/public/assets/svg/general/wlan.svg @@ -0,0 +1,3 @@ + diff --git a/public/assets/svg/logo/logo-icon-white.svg b/public/assets/svg/logo/logo-icon-white.svg new file mode 100644 index 0000000..fd88cc1 --- /dev/null +++ b/public/assets/svg/logo/logo-icon-white.svg @@ -0,0 +1,11 @@ + diff --git a/public/assets/svg/logo/logo-large-color.svg b/public/assets/svg/logo/logo-large-color.svg new file mode 100644 index 0000000..05b70c8 --- /dev/null +++ b/public/assets/svg/logo/logo-large-color.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/assets/svg/socials/github.svg b/public/assets/svg/socials/github.svg new file mode 100644 index 0000000..cb56efd --- /dev/null +++ b/public/assets/svg/socials/github.svg @@ -0,0 +1,3 @@ + diff --git a/public/assets/svg/socials/mail.svg b/public/assets/svg/socials/mail.svg new file mode 100644 index 0000000..fe19da5 --- /dev/null +++ b/public/assets/svg/socials/mail.svg @@ -0,0 +1,3 @@ + diff --git a/public/bg.jpg b/public/bg.jpg deleted file mode 100644 index b61823d..0000000 Binary files a/public/bg.jpg and /dev/null differ diff --git a/public/fonts/lato/Lato-Bold.ttf b/public/fonts/lato/Lato-Bold.ttf new file mode 100644 index 0000000..016068b Binary files /dev/null and b/public/fonts/lato/Lato-Bold.ttf differ diff --git a/public/fonts/lato/Lato-Regular.ttf b/public/fonts/lato/Lato-Regular.ttf new file mode 100644 index 0000000..bb2e887 Binary files /dev/null and b/public/fonts/lato/Lato-Regular.ttf differ diff --git a/public/fonts/lato/Lato-SemiBold.ttf b/public/fonts/lato/Lato-SemiBold.ttf new file mode 100644 index 0000000..3b1bccc Binary files /dev/null and b/public/fonts/lato/Lato-SemiBold.ttf differ diff --git a/public/fonts/nunito-sans/NunitoSans-Bold.ttf b/public/fonts/nunito-sans/NunitoSans-Bold.ttf new file mode 100644 index 0000000..9e51460 Binary files /dev/null and b/public/fonts/nunito-sans/NunitoSans-Bold.ttf differ diff --git a/public/fonts/nunito-sans/NunitoSans-Medium.ttf b/public/fonts/nunito-sans/NunitoSans-Medium.ttf new file mode 100644 index 0000000..9b0ad8a Binary files /dev/null and b/public/fonts/nunito-sans/NunitoSans-Medium.ttf differ diff --git a/public/fonts/nunito-sans/NunitoSans-Regular.ttf b/public/fonts/nunito-sans/NunitoSans-Regular.ttf new file mode 100644 index 0000000..50cb312 Binary files /dev/null and b/public/fonts/nunito-sans/NunitoSans-Regular.ttf differ diff --git a/public/fonts/nunito-sans/NunitoSans-SemiBold.ttf b/public/fonts/nunito-sans/NunitoSans-SemiBold.ttf new file mode 100644 index 0000000..7833435 Binary files /dev/null and b/public/fonts/nunito-sans/NunitoSans-SemiBold.ttf differ diff --git a/public/tree.png b/public/tree.png deleted file mode 100644 index 11b3bcf..0000000 Binary files a/public/tree.png and /dev/null differ diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx deleted file mode 100644 index 8775b33..0000000 --- a/src/App.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import FakeProgress from "./FakeProgress"; - -function App() { - return ( -
-
-
- Green Ecolution Logo -

- Green Ecolution -

-

- 🚧 Page under construction, please wait... -

-
-
-
- -
-
- ); -} - -export default App; diff --git a/src/FakeProgress.tsx b/src/FakeProgress.tsx deleted file mode 100644 index 9dd5cd9..0000000 --- a/src/FakeProgress.tsx +++ /dev/null @@ -1,239 +0,0 @@ -import { useEffect, useState } from "react"; - -export interface FakeProgressProps { } - -const messages = [ - "🌳 Bäume müssen noch gepflanzt werden...", - "🔧 MVP wird noch entwickelt...", - "🌱 Seite wird noch aufgebaut...", - "🌿 Noch nicht ganz fertig...", - "🌲 Seite wird noch entwickelt...", - "📡 Vernetzung der Stadt läuft...", - "🏗️ Virtuelle Gebäude werden noch gebaut...", - "🚧 Straße zu SmartCity wird asphaltiert...", - "🔌 IoT-Geräte werden noch verbunden...", - "📱 Smart Apps werden noch programmiert...", - "🌟 Innovationen werden noch geträumt...", - "🔍 Visionen werden noch geschärft...", - "🚀 Start in die Zukunft wird vorbereitet...", - "💡 Intelligente Lösungen werden noch ausgeklügelt...", - "🛠️ Verbesserungen werden noch implementiert...", - "⏳ Fortschritt braucht noch ein bisschen Zeit...", - "🌏 Zukunft wird noch gestaltet...", - "🧩 Komponenten werden noch zusammengesetzt...", - "🗺️ Stadtkarte wird noch gezeichnet...", - "🔋 Energiesysteme werden noch geladen...", - "📊 Daten werden noch analysiert...", - "🌐 Netzwerke werden noch aufgebaut...", - "🏙️ Skyline wird noch designt...", - "🖥️ SmartCity Dashboard wird noch konfiguriert...", - "💼 Kooperationen werden noch geschlossen...", - "🕹️ Smart Controls werden noch eingerichtet...", - "🌞 Solarzellen werden noch installiert...", - "🌳 Parks und Grünanlagen werden noch angelegt...", - "🌏 Umweltfreundliche Technologien werden noch erforscht...", - "🔋 Erneuerbare Energien werden noch genutzt...", - "🌱 Nachhaltige Projekte werden noch initiiert...", - "🧪 Forschungsteams arbeiten noch an Innovationen...", - "📡 Smart City Sensoren werden noch installiert...", - "🖥️ Big Data wird noch analysiert...", - "🛰️ Satellitendaten werden noch ausgewertet...", - "🔬 Wissenschaftler arbeiten noch an Lösungen...", - "👨‍🎓 Studierende sind noch in den Laboren...", - "🏫 Universitäten forschen noch an neuen Ideen...", - "🌞 Solarenergie wird noch gespeichert...", - "💧 Wasserversorgung wird noch optimiert...", - "🚰 Sauberes Wasser wird noch gefiltert...", - "♻️ Recycling-Programme werden noch gestartet...", - "🚍 Smarte Verkehrssysteme werden noch getestet...", - "🚖 Autonome Fahrzeuge werden noch programmiert...", - "🛴 Elektroroller werden noch geladen...", - "🚲 Fahrradleihsysteme werden noch installiert...", - "📶 5G-Netzwerk wird noch ausgebaut...", - "💡 Straßenlaternen werden noch vernetzt...", - "🔋 Energiespeicher werden noch installiert...", - "📊 Echtzeitdaten werden noch gesammelt...", - "📉 Umweltparameter werden noch gemessen...", - "🌐 IoT-Plattform wird noch entwickelt...", - "📈 Smart Grids werden noch optimiert...", - "🧠 KI-Algorithmen werden noch trainiert...", - "📦 Lieferketten werden noch automatisiert...", - "🛡️ Datenschutzrichtlinien werden noch geprüft...", - "🚨 Sicherheitssysteme werden noch installiert...", - "🧳 Reisedaten werden noch aktualisiert...", - "🚆 Smarte Zugverbindungen werden noch geplant...", - "🚇 U-Bahnen werden noch vernetzt...", - "📍 Standortdaten werden noch integriert...", - "🗺️ Kartenmaterial wird noch aktualisiert...", - "🚏 Haltestellen werden noch vernetzt...", - "📱 Mobile Apps werden noch programmiert...", - "💻 Webplattformen werden noch entwickelt...", - "🌐 APIs werden noch integriert...", - "🔍 Forschungsergebnisse werden noch veröffentlicht...", - "📚 Wissen wird noch geteilt...", - "📖 Studien werden noch abgeschlossen...", - "📝 Berichte werden noch geschrieben...", - "📅 Konferenzen werden noch organisiert...", - "🎓 Abschlussarbeiten werden noch geprüft...", - "🧬 Biotechnologische Forschungen werden noch durchgeführt...", - "🧪 Chemische Analysen werden noch gemacht...", - "🔬 Mikroskopische Untersuchungen werden noch durchgeführt...", - "🛰️ Weltraummissionen werden noch vorbereitet...", - "🌠 Sternbeobachtungen werden noch gemacht...", - "🛡️ Schutzmaßnahmen werden noch getroffen...", - "🌍 Umweltverträglichkeitsprüfungen werden noch durchgeführt...", - "🔋 Batterietechnologien werden noch erforscht...", - "🔧 Mechanische Systeme werden noch getestet...", - "🔩 Bauteile werden noch montiert...", - "🚗 Elektrofahrzeuge werden noch entwickelt...", - "🔋 Akkus werden noch geladen...", - "🛠️ Prototypen werden noch gebaut...", - "📈 Datenmodelle werden noch erstellt...", - "🗄️ Datenbanken werden noch befüllt...", - "🔗 Blockchain-Netzwerke werden noch gesichert...", - "🔍 Big Data Analysen werden noch durchgeführt...", - "📊 Statistische Modelle werden noch entwickelt...", - "🧑‍💼 Projekte werden noch gemanagt...", - "🧠 Neuronale Netze werden noch trainiert...", - "🛡️ Sicherheitsprotokolle werden noch verifiziert...", - "🌐 Webanwendungen werden noch skaliert...", - "📦 Lagerbestände werden noch überprüft...", - "🛒 Bestellvorgänge werden noch automatisiert...", - "🚚 Lieferwege werden noch optimiert...", - "🔒 Zugangskontrollen werden noch installiert...", - "🚨 Alarmsysteme werden noch getestet...", - "🧑‍🔬 Forschungslabore werden noch eingerichtet...", - "🔬 Laborgeräte werden noch kalibriert...", - "🧪 Chemikalien werden noch gemischt...", - "💉 Impfstoffe werden noch entwickelt...", - "🧬 DNA-Analysen werden noch durchgeführt...", - "🩺 Gesundheitsdaten werden noch ausgewertet...", - "🌱 Biotechnologien werden noch erforscht...", - "🔋 Energieeffizienz wird noch gesteigert...", - "🚰 Wasseraufbereitung wird noch optimiert...", - "🚯 Abfallwirtschaft wird noch verbessert...", - "🚜 Agrartechnologien werden noch getestet...", - "🌳 Aufforstungsprojekte werden noch gestartet...", - "🌿 Nachhaltige Materialien werden noch entwickelt...", - "🏭 Emissionswerte werden noch reduziert...", - "🌊 Meeresforschung wird noch betrieben...", - "🌾 Agrarwissenschaften werden noch angewendet...", - "🌞 Solarfarmen werden noch gebaut...", - "🚗 Fahrzeugtechnologien werden noch optimiert...", - "🚇 Verkehrssysteme werden noch modernisiert...", - "🚀 Raumfahrttechnologien werden noch getestet...", - "📡 Kommunikationstechnologien werden noch verbessert...", - "🔋 Speichersysteme werden noch entwickelt...", - "💡 Smart Home Geräte werden noch vernetzt...", - "🌐 Virtuelle Realität wird noch erforscht...", - "🔧 Automatisierungslösungen werden noch entwickelt...", - "🧠 Mensch-Maschine-Schnittstellen werden noch getestet...", - "🌍 Klimamodelle werden noch erstellt...", - "🧩 Systemintegrationen werden noch durchgeführt...", - "🔗 Interoperabilität wird noch gewährleistet...", - "📈 Prognosemodelle werden noch validiert...", - "🛠️ Technik-Workshops werden noch vorbereitet...", - "📱 Nutzerfreundlichkeit wird noch getestet...", - "💻 Softwarelösungen werden noch verbessert...", - "📊 Marktforschungen werden noch betrieben...", - "🔍 Nutzerdaten werden noch analysiert...", - "🧑‍🏫 Lehrmaterialien werden noch erstellt...", - "🎓 Studiengänge werden noch akkreditiert...", - "📚 Fachartikel werden noch veröffentlicht...", - "🗣️ Diskussionen werden noch geführt...", - "📅 Webinare werden noch geplant...", - "📈 Trendanalysen werden noch durchgeführt...", - "🔍 Marktentwicklungen werden noch beobachtet...", - "🛠️ Technologietrends werden noch erforscht...", - "📚 Lehrbücher werden noch geschrieben...", - "📈 Wirtschaftsdaten werden noch ausgewertet...", - "🔬 Biometrische Daten werden noch erhoben...", - "🔋 Solarbatterien werden noch geladen...", - "🚦 Verkehrssteuerungen werden noch programmiert...", - "🔧 Infrastrukturprojekte werden noch umgesetzt...", - "📱 Mobile Technologien werden noch entwickelt...", - "🌍 Nachhaltigkeitsziele werden noch verfolgt...", - "🚀 Raumfahrtprojekte werden noch geplant...", - "🛠️ Ingenieure arbeiten noch an Prototypen...", - "🔋 Energiespeichertechnologien werden noch erforscht...", - "🌐 Smart Grid Systeme werden noch integriert...", - "🚰 Wasserverbrauch wird noch optimiert...", - "🧑‍💻 Cybersicherheit wird noch gewährleistet...", - "📈 Innovationsstrategien werden noch ausgearbeitet...", - "🧑‍🎓 Studierende forschen noch an neuen Projekten...", - "📊 Datenvisualisierungen werden noch erstellt...", - "🔍 Smart City Daten werden noch gesammelt...", - "🛠️ Technische Lösungen werden noch implementiert...", - "📱 Digitale Dienste werden noch entwickelt...", - "🔋 Batterietechnologien werden noch optimiert...", - "🌱 Ökologische Lösungen werden noch erforscht...", - "🔧 Maschinen werden noch kalibriert...", - "📡 Sensoren werden noch getestet...", - "💡 Kreative Ideen werden noch umgesetzt...", - "📊 Businessmodelle werden noch entwickelt...", - "🧬 Genomdaten werden noch analysiert...", - "🔒 Sicherheitsrichtlinien werden noch erstellt...", - "📉 Risikomanagement wird noch betrieben...", - "🚦 Verkehrsanalysen werden noch durchgeführt...", - "📊 Nutzerfeedback wird noch ausgewertet...", - "📊 Datenmuster werden noch erkannt...", - "📡 Kommunikationsnetze werden noch aufgebaut...", - "🛠️ Wartungsarbeiten werden noch durchgeführt...", - "📊 Nutzungsmuster werden noch analysiert...", - "📊 Datenstrukturen werden noch definiert...", - "🚀 Start-Up Ideen werden noch entwickelt...", - "🔧 Smart Technologien werden noch getestet...", - "📱 App-Funktionen werden noch erweitert...", - "🛠️ Smart City Tools werden noch entwickelt...", - "💡 Innovationen werden noch erfunden...", - "🔬 Forschungsergebnisse werden noch analysiert...", - "📊 Big Data Projekte werden noch geplant...", - "🔍 Nutzerverhalten wird noch erforscht...", - "📱 Mobile Anwendungen werden noch optimiert...", - "🔋 Solarenergie wird noch gespeichert...", - "🚗 Elektroautos werden noch geladen...", - "🔧 Infrastruktur wird noch aufgebaut...", - "📊 Smart Analytics werden noch entwickelt...", -]; - -const FakeProgress = ({ }: FakeProgressProps) => { - const [currentMessage, setCurrentMessage] = useState(messages[0]); - const [progress, setProgress] = useState(0); - - useEffect(() => { - const messageInterval = setInterval(() => { - setCurrentMessage((prevMessage) => { - const currentIndex = messages.indexOf(prevMessage); - const nextIndex = (currentIndex + 1) % messages.length; - return messages[nextIndex]; - }); - }, 3000); - - const progressInterval = setInterval(() => { - setProgress((prevProgress) => - prevProgress >= 100 ? 0 : prevProgress + 1, - ); - }, 100); - - return () => { - clearInterval(messageInterval); - clearInterval(progressInterval); - }; - }, []); - - return ( -
-
-
-
-

- {currentMessage} -

-
- ); -}; - -export default FakeProgress; diff --git a/src/css/components/fonts.css b/src/css/components/fonts.css new file mode 100644 index 0000000..b78b54f --- /dev/null +++ b/src/css/components/fonts.css @@ -0,0 +1,55 @@ +@font-face { + font-family: 'Lato'; + src: url('/fonts/lato/Lato-Regular.ttf'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Lato'; + src: url('/fonts/lato/Lato-SemiBold.ttf'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Lato'; + src: url('/fonts/lato/Lato-Bold.ttf'); + font-weight: bold; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Nunito Sans'; + src: url('/fonts/nunito-sans/NunitoSans-Regular.ttf'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Nunito Sans'; + src: url('/fonts/nunito-sans/NunitoSans-Medium.ttf'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Nunito Sans'; + src: url('/fonts/nunito-sans/NunitoSans-SemiBold.ttf'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Nunito Sans'; + src: url('/fonts/nunito-sans/NunitoSans-Bold.ttf'); + font-weight: 600; + font-style: normal; + font-display: swap; +} diff --git a/src/css/components/general.css b/src/css/components/general.css new file mode 100644 index 0000000..54ff7bf --- /dev/null +++ b/src/css/components/general.css @@ -0,0 +1,14 @@ +html { + scrollbar-gutter: stable; +} + +a:focus-visible, +button:focus-visible, +input:focus-visible, +input[type="text"]:focus-visible, +input[type="checkbox"]:focus-visible, +input[type="date"]:focus-visible, +textarea:focus-visible, +summary:focus-visible { + @apply outline outline-2 outline-offset-4 outline-green-light-900; +} diff --git a/src/css/components/splide.css b/src/css/components/splide.css new file mode 100644 index 0000000..6256811 --- /dev/null +++ b/src/css/components/splide.css @@ -0,0 +1,24 @@ +/* Override default styles from splide slider package */ +.splide.splide--grid > .splide__track { + @apply lg:pb-7 !important; +} + +.splide.splide--grid > .splide__track > .splide__list { + @apply lg:grid lg:grid-cols-2 lg:gap-x-6 lg:gap-y-8 !important; +} + +.splide__pagination { + @apply bottom-0 lg:-bottom-4 !important; +} + +.splide__pagination .splide__pagination__page { + @apply w-2.5 h-2.5 !important; +} + +.splide__pagination .splide__pagination__page.is-active { + @apply bg-green-dark-900 scale-100 !important; +} + +.splide__pagination__page:focus-visible { + @apply outline outline-2 outline-offset-2 outline-green-light-900 !important; +} diff --git a/src/css/frontend.css b/src/css/frontend.css new file mode 100644 index 0000000..0dd123f --- /dev/null +++ b/src/css/frontend.css @@ -0,0 +1,3 @@ +@import './components/fonts.css'; +@import './components/general.css'; +@import './components/splide.css'; diff --git a/src/css/site.css b/src/css/site.css new file mode 100644 index 0000000..193a1ff --- /dev/null +++ b/src/css/site.css @@ -0,0 +1,4 @@ +@import "tailwindcss/base"; +@import "frontend"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/src/data/processSteps.ts b/src/data/processSteps.ts new file mode 100644 index 0000000..fd3b785 --- /dev/null +++ b/src/data/processSteps.ts @@ -0,0 +1,32 @@ +export const steps = [ + { + label: "Konzepterstellung", + shortName: "Konzept", + isCurrent: false, + description: "Im ersten Schritt wird eine Anforderungsanalyse sowie eine Recherche zu verwandten Arbeiten durchgeführt. Zudem wird Software- und Hardware-Architektur bestimmt sowie eine Anbindung an das LoRaWAN-Netz erprobt. Eine Roadmap wird das weitere Vorgehen inkrementell festhalten." + }, + { + label: "MVP (Minimum Viable Product)", + shortName: "MVP", + isCurrent: true, + description: "Der MVP dient der Umsetzung der konzeptualen Bestimmungen und soll ein erstes, funktionales Produkt darstellen. Anhand des Feedbacks aus der MVP-Vorstellung wird das Vorgehen weiter präzisiert." + }, + { + label: "Projektvorstellung 01", + shortName: "Vorstellung 01", + isCurrent: false, + description: "Aufbauend auf den Erkenntnissen des MVP soll eine Fort- und Weiterentwicklung stattfinden. Die Projektvorstellung 01 stellt den ersten, offiziellen Release dar." + }, + { + label: "Projektvorstellung 02", + shortName: "Vorstellung 02", + isCurrent: false, + description: "Nach dem ersten Release wird eine Qualitätssicherung stattfinden, um den einwandfreien Gebrauch zu gewährleisten und Fehler zu beheben sowie neue Features einzubauen." + }, + { + label: "Finale Vorstellung", + shortName: "Finalisierung", + isCurrent: false, + description: "Bei der finalen Vorstellung ist die Roadmap bzgl. des Studienprojektes abgeschlossen. Die Behebung letzter Probleme soll ein funktionsfähiges Produkt bereitstellen. Dokumenation, Quellcode, ein Paper zur Arbeit und Videos sollen weiter auf das Projekt machen aufmerksam und zu einer Fortführung anregen." + }, +]; diff --git a/src/index.css b/src/index.css deleted file mode 100644 index b5c61c9..0000000 --- a/src/index.css +++ /dev/null @@ -1,3 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/src/json/cableAnimation.json b/src/json/cableAnimation.json new file mode 100644 index 0000000..a704c19 --- /dev/null +++ b/src/json/cableAnimation.json @@ -0,0 +1 @@ +{"v":"5.5.2","meta":{"a":"SVGator","d":"SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.","g":"Made in SVGator (https://www.svgator.com/)","tc":""},"metadata":{"filename":"cableAnimation.json","customProps":{"k":["SVGator","svgator","lottie animation","svg animation","lottie","svg"],"version":1,"app":"https://app.svgator.com/","site":"https://www.svgator.com/","date":"2024-06-16T09:38:47.936Z"}},"nm":"cableAnimation","ddd":0,"assets":[],"w":537,"h":955,"ip":0,"op":600,"fr":100,"fonts":{"list":[]},"layers":[{"ty":4,"st":0,"ip":0,"op":600,"ks":{},"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[268.5,477.5]},"s":{"a":0,"k":[537,955]},"r":{"a":0,"k":0}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0,0,0]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[268.5,477.5]},"p":{"a":0,"k":[268.5,477.5]}}]}],"parent":1,"td":1},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[268.5,477.5]},"p":{"a":0,"k":[268.5,477.5]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[292.765199,-0.170408],[390.204114,664.585362],[403.048336,661.438794],[311.765199,0],[292.845153,-0.201667]],"i":[[0,0],[-63.236384,-183.372164],[0,0],[-42.2652,279.06624],[0,0]],"o":[[-42.2652,279.06624],[0,0],[-63.236384,-183.372164],[0,0],[0,0]],"c":false}],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":300,"s":[{"v":[[294.685168,-0.921035],[142.148616,664.218859],[156.526499,669.600117],[313.685168,-0.750627],[292.845153,-0.201667]],"i":[[0,0],[62.59253,-173.363525],[0,0],[0,308.34034],[0,0]],"o":[[0,308.34034],[0,0],[62.59253,-173.363525],[0,0],[0,0]],"c":false}],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":600,"s":[{"v":[[292.765199,-0.170408],[390.204114,664.585362],[403.048336,661.438794],[311.765199,0],[292.845153,-0.201667]],"i":[[0,0],[-63.236384,-183.372164],[0,0],[-42.2652,279.06624],[0,0]],"o":[[-42.2652,279.06624],[0,0],[-63.236384,-183.372164],[0,0],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":3},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[308.696462,336.466903]},"p":{"a":0,"k":[308.372222,336.070681]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[135.309,74.024],[112.262,76.328],[31.6169,84.3898],[8.57068,86.6937],[1.40612,95.4498],[1.93968,100.787],[10.6958,107.952],[14.6779,107.554],[133.452,95.6802],[137.434,95.2821],[144.599,86.526],[144.065,81.1886],[135.309,74.024]],"i":[[0,0],[0,0],[0,0],[0,0],[-0.439491,-4.3964],[0,0],[-4.39608,0.439],[0,0],[0,0],[0,0],[0.439,4.3964],[0,0],[4.396,-0.4394]],"o":[[0,0],[0,0],[0,0],[-4.39606,0.4394],[0,0],[0.43949,4.397],[0,0],[0,0],[0,0],[4.396,-0.4395],[0,0],[-0.439,-4.3964],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.67451,0.713725,0.231373]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[73.002522,90.987972]},"p":{"a":0,"k":[73.002522,90.987972]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[82.9421,49.5561],[101.302,47.7207],[110.058,54.8853],[112.23,76.6187],[31.5856,84.6805],[29.413,62.9471],[36.5775,54.191],[54.9362,52.3557],[82.9421,49.5561]],"i":[[0,0],[0,0],[-0.44,-4.3964],[0,0],[0,0],[0,0],[-4.396,0.4394],[0,0],[0,0]],"o":[[0,0],[4.396,-0.4394],[0,0],[0,0],[0,0],[-0.4395,-4.3964],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.298039,0.466667,0.254902]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[70.801365,66.180468]},"p":{"a":0,"k":[70.801365,66.180468]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[137.624,138.257],[133.279,94.7903],[14.5049,106.664],[18.8501,150.131],[36.3623,164.46],[123.295,155.769],[137.624,138.257]],"i":[[0,0],[0,0],[0,0],[0,0],[-8.7931,0.879],[0,0],[0.879,8.793]],"o":[[0,0],[0,0],[0,0],[0.879,8.792],[0,0],[8.792,-0.879],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.298039,0.466667,0.254902]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[76.104723,129.665428]},"p":{"a":0,"k":[76.104723,129.665428]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[124.304,194.623],[120.426,155.833],[101.361,157.739],[105.239,196.529],[113.995,203.693],[117.14,203.379],[124.304,194.623]],"i":[[0,0],[0,0],[0,0],[0,0],[-4.396,0.44],[0,0],[0.44,4.396]],"o":[[0,0],[0,0],[0,0],[0.44,4.396],[0,0],[4.396,-0.439],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[112.85268,179.783173]},"p":{"a":0,"k":[112.85268,179.783173]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[62.5532,199.795],[58.6755,161.005],[39.6104,162.91],[43.4881,201.7],[52.2442,208.865],[55.3886,208.551],[62.5532,199.795]],"i":[[0,0],[0,0],[0,0],[0,0],[-4.3961,0.439],[0,0],[0.4395,4.396]],"o":[[0,0],[0,0],[0,0],[0.4395,4.397],[0,0],[4.3961,-0.44],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[51.101936,184.955101]},"p":{"a":0,"k":[51.101936,184.955101]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[50.7362,11.6708],[57.8998,2.91478],[69.988,1.70636],[78.7421,8.87111],[82.9049,50.5129],[54.899,53.3126],[50.7362,11.6708]],"i":[[0,0],[-4.3951,0.43936],[0,0],[-0.4395,-4.39636],[0,0],[0,0],[0,0]],"o":[[-0.4395,-4.39639],[0,0],[4.396,-0.43946],[0,0],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[66.800413,27.489346]},"p":{"a":0,"k":[66.800413,27.489346]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[73.002522,105.285645]},"p":{"a":0,"k":[270.749103,778.072939]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[267.502502,780.314575]},"p":{"a":1,"k":[{"t":0,"s":[421.342372,764.509109],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":300,"s":[111.555256,764.509109],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":600,"s":[421.342372,764.509109],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}}]},"r":{"a":1,"k":[{"t":0,"s":[-9.191738],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":300,"s":[24.95303],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":600,"s":[-9.191738],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}}]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[268.5,477.5]},"p":{"a":0,"k":[268.5,477.5]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}],"ind":1,"tt":1}]} diff --git a/src/json/dashboardAnimation.json b/src/json/dashboardAnimation.json new file mode 100644 index 0000000..994373d --- /dev/null +++ b/src/json/dashboardAnimation.json @@ -0,0 +1 @@ +{"v":"5.5.2","meta":{"a":"SVGator","d":"SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.","g":"Made in SVGator (https://www.svgator.com/)","tc":""},"metadata":{"filename":"dashboardAnimation.json","customProps":{"k":["SVGator","svgator","lottie animation","svg animation","lottie","svg"],"version":1,"app":"https://app.svgator.com/","site":"https://www.svgator.com/","date":"2024-06-11T15:22:27.493Z"}},"nm":"dashboardAnimation","ddd":0,"assets":[],"w":951.34,"h":715.5,"ip":0,"op":600,"fr":100,"fonts":{"list":[]},"layers":[{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[100.233001,27.470501]},"p":{"a":1,"k":[{"t":0,"s":[373.599501,453],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":440.00000000000006,"s":[421.164514,453.470502],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[408.266998,457.819141],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":1,"k":[{"t":0,"s":[0,0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":430,"s":[0,0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":440.00000000000006,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[32.02045,3.159915]},"s":{"a":0,"k":[64.0409,6.31983]},"r":{"a":0,"k":3.15991}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.894118,0.305882,0.301961]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[32.020446,3.159916]},"p":{"a":0,"k":[93.281246,34.843716]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[53.3675,3.159915]},"s":{"a":0,"k":[106.735,6.31983]},"r":{"a":0,"k":3.15991}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[53.3675,3.159915]},"p":{"a":0,"k":[114.6283,20.097415]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[32.8495,24.0413],[32.8495,27.9238],[32.8495,31.0299],[32.8495,31.0381],[32.8578,31.0381]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1.5},"c":{"a":0,"k":[1,1,1]},"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[32.853649,27.5397]},"p":{"a":0,"k":[32.853649,27.5397]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[41.4583,30.7131],[42.1676,27.1472],[39.4384,20.5583],[32.8495,17.8291],[26.2606,20.5583],[23.5314,27.1472],[24.2407,30.7131],[26.2606,33.7361],[29.2836,35.7561],[32.8495,36.4654],[36.4154,35.7561],[39.4384,33.7361],[41.4583,30.7131]],"i":[[0,0],[0,1.2237],[1.7475,1.7475],[2.4713,0],[1.7475,-1.7475],[0,-2.4713],[-0.4683,-1.1305],[-0.8653,-0.8652],[-1.1305,-0.4683],[-1.2237,0],[-1.1305,0.4682],[-0.8653,0.8653],[-0.4682,1.1305]],"o":[[0.4683,-1.1305],[0,-2.4713],[-1.7475,-1.7475],[-2.4713,0],[-1.7475,1.7475],[0,1.2237],[0.4683,1.1305],[0.8653,0.8653],[1.1305,0.4682],[1.2237,0],[1.1305,-0.4683],[0.8653,-0.8652],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.894118,0.305882,0.301961]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[32.8495,27.14725]},"p":{"a":0,"k":[32.8495,27.14725]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[37.8126,37.8126]}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.894118,0.305882,0.301961]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[-0.000002,-0.000001]},"p":{"a":0,"k":[33.119598,27.417299]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[90.233,22.4705]},"s":{"a":0,"k":[180.466,44.941]},"r":{"a":0,"k":22.4705}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[90.233002,22.470501]},"p":{"a":0,"k":[100.233002,27.470501]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[100.233002,27.470501]},"p":{"a":0,"k":[100.233002,27.470501]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[100.233001,27.470501]},"p":{"a":1,"k":[{"t":0,"s":[437.223101,511.772596],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[459.5,500.768602],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[437.223101,511.772596],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":1,"k":[{"t":0,"s":[0,0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":229.99999999999997,"s":[0,0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":240,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[32.02045,3.159915]},"s":{"a":0,"k":[64.0409,6.31983]},"r":{"a":0,"k":3.15991}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.894118,0.305882,0.301961]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[32.020446,3.159916]},"p":{"a":0,"k":[93.281246,34.843716]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[53.3675,3.159915]},"s":{"a":0,"k":[106.735,6.31983]},"r":{"a":0,"k":3.15991}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[53.3675,3.159915]},"p":{"a":0,"k":[114.6283,20.097415]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[32.8495,24.0413],[32.8495,27.9238],[32.8495,31.0299],[32.8495,31.0381],[32.8578,31.0381]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1.5},"c":{"a":0,"k":[1,1,1]},"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[32.853649,27.5397]},"p":{"a":0,"k":[32.853649,27.5397]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[41.4583,30.7131],[42.1676,27.1472],[39.4384,20.5583],[32.8495,17.8291],[26.2606,20.5583],[23.5314,27.1472],[24.2407,30.7131],[26.2606,33.7361],[29.2836,35.7561],[32.8495,36.4654],[36.4154,35.7561],[39.4384,33.7361],[41.4583,30.7131]],"i":[[0,0],[0,1.2237],[1.7475,1.7475],[2.4713,0],[1.7475,-1.7475],[0,-2.4713],[-0.4683,-1.1305],[-0.8653,-0.8652],[-1.1305,-0.4683],[-1.2237,0],[-1.1305,0.4682],[-0.8653,0.8653],[-0.4682,1.1305]],"o":[[0.4683,-1.1305],[0,-2.4713],[-1.7475,-1.7475],[-2.4713,0],[-1.7475,1.7475],[0,1.2237],[0.4683,1.1305],[0.8653,0.8653],[1.1305,0.4682],[1.2237,0],[1.1305,-0.4683],[0.8653,-0.8652],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.894118,0.305882,0.301961]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[32.8495,27.14725]},"p":{"a":0,"k":[32.8495,27.14725]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[37.8126,37.8126]}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.894118,0.305882,0.301961]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[-0.000002,-0.000001]},"p":{"a":0,"k":[33.119598,27.417299]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[90.233,22.4705]},"s":{"a":0,"k":[180.466,44.941]},"r":{"a":0,"k":22.4705}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[90.233002,22.470501]},"p":{"a":0,"k":[101.693093,28.999002]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[100.233002,27.470501]},"p":{"a":0,"k":[100.233002,27.470501]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[183.021499,131.748001]},"p":{"a":1,"k":[{"t":0,"s":[272,589.751999],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[294.276899,578.748001],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[272,589.751999],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[10.05938,10.05938]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.67451,0.713725,0.231373]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0.000002,0.000002]},"p":{"a":0,"k":[39.171902,227.815002]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[23.53895,2.514845]},"s":{"a":0,"k":[47.0779,5.02969]},"r":{"a":0,"k":2.51484}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[23.538952,2.514841]},"p":{"a":0,"k":[75.787952,228.317841]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[320.305,225.785],[320.305,230.785],[322.805,228.285],[317.805,228.285]],"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.988235,0.988235,0.988235]},"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[320.304993,228.285004]},"p":{"a":0,"k":[320.304993,228.285004]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[13.0772,2.514845]},"s":{"a":0,"k":[26.1544,5.02969]},"r":{"a":0,"k":2.51484}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[13.077196,2.514841]},"p":{"a":0,"k":[297.698196,228.317841]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[27.6633,7.04155]},"s":{"a":0,"k":[55.3266,14.0831]},"r":{"a":0,"k":7.04156}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.396078,0.596078,0.345098]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[27.663298,7.041552]},"p":{"a":0,"k":[304.236298,227.815552]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[10.05938,10.05938]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.67451,0.713725,0.231373]}},{"ty":"tr","o":{"a":1,"k":[{"t":0,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":430,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":440.00000000000006,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"a":{"a":0,"k":[-0.000006,-0.000005]},"p":{"a":0,"k":[254.441994,120.682995]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[10.05938,10.05938]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.67451,0.713725,0.231373]}},{"ty":"tr","o":{"a":1,"k":[{"t":0,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":229.99999999999997,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":238,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"a":{"a":0,"k":[-0.000008,-0.000013]},"p":{"a":0,"k":[160.889992,176.009987]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1423,213.229],[331.9,213.229]],"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":10},"w":{"a":0,"k":0.5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021145,213.229004]},"p":{"a":0,"k":[183.021145,213.229004]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1423,189.087],[331.9,189.087]],"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":10},"w":{"a":0,"k":0.5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021145,189.087006]},"p":{"a":0,"k":[183.021145,189.087006]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1423,164.944],[331.9,164.944]],"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":10},"w":{"a":0,"k":0.5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021145,164.944]},"p":{"a":0,"k":[183.021145,164.944]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1423,140.802],[331.9,140.802]],"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":10},"w":{"a":0,"k":0.5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021145,140.802002]},"p":{"a":0,"k":[183.021145,140.802002]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1423,116.66],[331.9,116.66]],"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":10},"w":{"a":0,"k":0.5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021145,116.660004]},"p":{"a":0,"k":[183.021145,116.660004]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1424,92.5168],[331.9,92.5168]],"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":10},"w":{"a":0,"k":0.5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021198,92.5168]},"p":{"a":0,"k":[183.021198,92.5168]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.1423,175.596],[59.547,188.925],[91.6764,191.781],[126.795,175.596],[159.671,175.596],[180.593,157.031],[230.281,124.185],[274.366,107.524],[314.714,115.617],[331.9,115.617]],"i":[[0,0],[-10.4142,-3.289],[-12.4827,1.968],[-14.393,3.004],[-1.868,0],[-7.173,17.137],[-44.458,-0.952],[-14.04,13.045],[-8.717,-9.679],[0,0]],"o":[[3.6115,0.635],[12.2084,3.856],[14.4736,-2.281],[12.67,-2.645],[3.985,0.952],[8.966,-21.421],[11.208,0],[17.932,-16.6606],[8.718,9.679],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.67451,0.713725,0.231373]},"lc":1,"lj":1,"ml":4,"d":[{"n":"d","nm":"dash 0","v":{"a":0,"k":346.66}},{"n":"o","nm":"offset","v":{"a":1,"k":[{"t":0,"s":[346.66],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[183.021145,146.416737]},"p":{"a":0,"k":[183.021145,146.416737]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[30.17815,5.0297]},"s":{"a":0,"k":[60.3563,10.0594]},"r":{"a":0,"k":5.02969}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[30.178143,5.029699]},"p":{"a":0,"k":[130.712143,60.326799]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[50.297,5.0297]},"s":{"a":0,"k":[100.594,10.0594]},"r":{"a":0,"k":5.02969}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[50.296994,5.029698]},"p":{"a":0,"k":[150.830994,44.231798]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[81.9273,52.279],[58.2848,75.9215],[34.6423,52.279],[58.2848,28.6365],[81.9273,52.279]],"i":[[0,0],[13.0574,0],[0,13.0574],[-13.0574,0],[0,-13.0574]],"o":[[0,13.0574],[-13.0574,0],[0,-13.0574],[13.0574,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.67451,0.713725,0.231373]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"fl","o":{"a":0,"k":50},"c":{"a":0,"k":[0.67451,0.713725,0.231373]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[58.2848,52.279001]},"p":{"a":0,"k":[58.2848,52.279001]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[172.0215,125.748]},"s":{"a":0,"k":[344.043,251.496]},"r":{"a":0,"k":15}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":2},"c":{"a":0,"k":[0.67451,0.713725,0.231373]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[172.0215,125.748001]},"p":{"a":0,"k":[183.0215,131.748001]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[113.668998,93.6445]},"p":{"a":1,"k":[{"t":0,"s":[804,270.105499],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[815.569339,290.00053],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[804,270.105499],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[181.655,160.88],[188.416,154.119],[181.655,154.119],[188.416,160.88]],"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[1,0.768627,0.203922]},"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[185.0355,157.499504]},"p":{"a":0,"k":[185.0355,157.499504]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[19.5319,3.75613]},"s":{"a":0,"k":[39.0638,7.51226]},"r":{"a":0,"k":3.75613}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[19.531904,3.756123]},"p":{"a":0,"k":[151.230904,157.499123]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[41.31745,10.51715]},"s":{"a":0,"k":[82.6349,21.0343]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[41.317452,10.517154]},"p":{"a":0,"k":[160.996452,156.748154]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[86.625,157.917],[89.6299,161.255],[94.1373,153.743]],"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.298039,0.466667,0.254902]},"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[90.381149,157.499001]},"p":{"a":0,"k":[90.381149,157.499001]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[19.5319,3.75613]},"s":{"a":0,"k":[39.0638,7.51226]},"r":{"a":0,"k":3.75613}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[19.531898,3.756123]},"p":{"a":0,"k":[56.575798,157.499123]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[41.31745,10.51715]},"s":{"a":0,"k":[82.6349,21.0343]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[41.317452,10.517147]},"p":{"a":0,"k":[66.341852,156.747147]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[88.6445,27.04415]},"s":{"a":0,"k":[177.289,54.0883]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":5},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[88.644501,27.044152]},"p":{"a":0,"k":[113.669201,104.161552]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[45.9594,38.77],[45.9594,43.3435],[45.9681,47.0023],[45.9594,47.0023],[45.9594,47.012]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"c":false}}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":2},"c":{"a":0,"k":[0.988235,0.988235,0.988235]},"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[45.963751,42.891001]},"p":{"a":0,"k":[45.963751,42.891001]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[34.4175,47.4609],[36.8343,51.5758],[55.0842,51.5758],[57.501,47.4609],[48.3772,31.9135],[43.5412,31.9135],[34.4175,47.4609]],"i":[[0,0],[-2.1476,0],[0,0],[1.0731,1.8294],[0,0],[1.0744,-1.8293],[0,0]],"o":[[-1.0744,1.8294],[0,0],[2.1463,0],[0,0],[-1.0744,-1.8293],[0,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,0.768627,0.203922]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[45.958893,41.058663]},"p":{"a":0,"k":[45.958893,41.058663]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[42.0686,42.0686]}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[1,0.768627,0.203922]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0.000002]},"p":{"a":0,"k":[46.059,41.058702]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[46.059,41.058702]},"p":{"a":0,"k":[46.059,41.058702]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":100,"s":[120,120],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":200,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[120,120],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":400,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":500,"s":[120,120],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[100,100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[35.1574,3.75613]},"s":{"a":0,"k":[70.3148,7.51226]},"r":{"a":0,"k":3.75613}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[35.157392,3.75613]},"p":{"a":0,"k":[120.279892,47.81953]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[58.5955,3.75613]},"s":{"a":0,"k":[117.191,7.51226]},"r":{"a":0,"k":3.75613}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[58.595499,3.756131]},"p":{"a":0,"k":[143.717899,34.297531]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[102.669,87.6445]},"s":{"a":0,"k":[205.338,175.289]},"r":{"a":0,"k":15}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":2},"c":{"a":0,"k":[1,0.768627,0.203922]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[102.668999,87.644501]},"p":{"a":0,"k":[113.668999,93.644501]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[405.5,304.5]},"p":{"a":0,"k":[405.5,304.5]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[24,3.67432]},"s":{"a":0,"k":[48,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[24,3.674316]},"p":{"a":0,"k":[552,329.674316]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[33,3.67432]},"s":{"a":0,"k":[66,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[33,3.674316]},"p":{"a":0,"k":[440,329.674316]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[26,3.67432]},"s":{"a":0,"k":[52,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[26,3.674316]},"p":{"a":0,"k":[312,329.674316]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[27,3.67432]},"s":{"a":0,"k":[54,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[27,3.674316]},"p":{"a":0,"k":[220,329.674316]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[384.5,329.674317]},"p":{"a":0,"k":[384.5,329.674317]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":4},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[338.5,551]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":4},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[459.5,551]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[138,22]},"s":{"a":0,"k":[276,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":4},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[138,22]},"p":{"a":0,"k":[666,551]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[22.5,3.67432]},"s":{"a":0,"k":[45,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":4},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[22.5,3.674316]},"p":{"a":0,"k":[247.5,551.674316]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":4},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[204.5,551.5]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,551]},"p":{"a":0,"k":[498.5,551]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":7},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[338.5,491]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":7},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[459.5,491]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[138,22]},"s":{"a":0,"k":[276,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":7},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[138,22]},"p":{"a":0,"k":[666,491]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[22.5,3.67432]},"s":{"a":0,"k":[45,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":7},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[22.5,3.674316]},"p":{"a":0,"k":[247.5,491.674316]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":7},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[204.5,491.5]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,491]},"p":{"a":0,"k":[498.5,491]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":10},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[338.5,431]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":10},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[459.5,431]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[138,22]},"s":{"a":0,"k":[276,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":10},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[138,22]},"p":{"a":0,"k":[666,431]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[22.5,3.67432]},"s":{"a":0,"k":[45,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":10},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[22.5,3.674316]},"p":{"a":0,"k":[247.5,431.674316]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":10},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[204.5,431.5]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,431]},"p":{"a":0,"k":[498.5,431]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":13},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[338.5,371]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[52.5,22]},"s":{"a":0,"k":[105,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":13},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[52.5,22]},"p":{"a":0,"k":[459.5,371]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[138,22]},"s":{"a":0,"k":[276,44]},"r":{"a":0,"k":8}},{"ty":"fl","o":{"a":0,"k":13},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[138,22]},"p":{"a":0,"k":[666,371]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[22.5,3.67432]},"s":{"a":0,"k":[45,7.34864]},"r":{"a":0,"k":3.67432}},{"ty":"fl","o":{"a":0,"k":13},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[22.5,3.674316]},"p":{"a":0,"k":[247.5,371.674316]}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":13},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[204.5,371.5]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,371]},"p":{"a":0,"k":[500.5,371]}}]},{"ty":"tr","o":{"a":1,"k":[{"t":0,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":100,"s":[35],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":200,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[35],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":400,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":500,"s":[35],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"a":{"a":0,"k":[498.5,449.5]},"p":{"a":0,"k":[498.5,449.5]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":600,"ks":{},"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[305,113.5]},"s":{"a":0,"k":[610,227]},"r":{"a":0,"k":23.5}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.298039,0.466667,0.254902]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[111.5,55]},"p":{"a":0,"k":[305,113.5]}}]}],"parent":2,"td":1},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[498.5,178.845993]},"p":{"a":0,"k":[498.5,178.845993]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[804,194.846],[716.735,241.283],[654.95,246.645],[587.418,216.26],[524.196,216.26],[483.964,181.407],[381.473,181.407],[281.091,253.346],[226.048,103.657],[193,103.657]],"i":[[0,0],[20.027,-6.174],[24.004,3.694],[27.676,5.64],[3.592,0],[29.997,18.941],[85.493,-1.787],[26.999,24.489],[16.763,-18.1712],[0,0]],"o":[[-6.945,1.192],[-23.477,7.239],[-27.833,-4.283],[-24.365,-4.965],[-7.663,1.788],[-24.644,-15.561],[-21.553,0],[-34.485,-31.279],[-16.764,18.172],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[{"v":[[804,215.807001],[722.997206,153],[654.95,226.10611],[576,234],[524.196,216.26],[473,127.702726],[381.473,181.407],[286,223.053055],[225,134.037117],[193,181.753]],"i":[[0,0],[20.027,-6.174],[24.004,3.694],[28.336844,-17.186237],[3.804,6.793055],[34.094484,10.557873],[21.512883,-8.907],[26.999,24.489],[27.622,0],[0,0]],"o":[[-48.840957,-4.807001],[-23.477,7.239001],[-27.833,-4.283],[-36.172956,32],[-4.35747,-5.26],[-22.472076,-6.958819],[-19.343812,8.049158],[-34.485,-31.279],[-24.723536,0],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[{"v":[[804,194.846],[716.735,241.283],[654.95,246.645],[587.418,216.26],[524.196,216.26],[483.964,181.407],[381.473,181.407],[281.091,253.346],[226.048,103.657],[193,103.657]],"i":[[0,0],[20.027,-6.174],[24.004,3.694],[27.676,5.64],[3.592,0],[29.997,18.941],[85.493,-1.787],[26.999,24.489],[16.763,-18.1712],[0,0]],"o":[[-6.945,1.192],[-23.477,7.239],[-27.833,-4.283],[-24.365,-4.965],[-7.663,1.788],[-24.644,-15.561],[-21.553,0],[-34.485,-31.279],[-16.764,18.172],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.67451,0.713725,0.231373]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,179.664619]},"p":{"a":0,"k":[498.5,179.664619]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[716.735,241.63],[804,195.192],[804,285.692],[193,285.692],[193,104.003],[226.048,104.003],[281.091,253.692],[381.473,181.753],[483.964,181.753],[524.196,216.607],[587.418,216.607],[654.95,246.992],[716.735,241.63]],"i":[[0,0],[-6.945,1.192],[0,0],[0,0],[0,0],[-16.764,18.172],[-34.485,-31.279],[-21.553,0],[-24.644,-15.561],[-7.663,1.787],[-24.365,-4.965],[-27.833,-4.284],[-23.477,7.238]],"o":[[20.027,-6.175],[0,0],[0,0],[0,0],[0,0],[16.763,-18.171],[26.999,24.489],[85.493,-1.787],[29.997,18.942],[3.592,0],[27.676,5.64],[24.004,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[{"v":[[722.521349,153],[803.524143,215.807001],[804,285.692],[193,285.692],[192.524143,180.953002],[225.572143,134.037117],[286,223.053055],[381.473,181.753],[472.524143,127.702726],[524.196,216.813763],[575.524143,234],[654.474143,226.10611],[722.521349,153]],"i":[[0,0],[-47.381542,-4.807001],[0,0],[0,0],[0,0],[-24.723537,0],[-34.485,-31.279],[-20.050091,7.806141],[-24.464,-6.98485],[-5.328143,-7.686237],[-36.172956,30.398254],[-27.833,-4.284],[-23.477,7.238]],"o":[[20.027,-6.175],[0,0],[0,0],[0,0],[0,0],[23.452,0],[26.999,24.489],[20.397709,-9.253],[34.113802,9.740019],[5.328143,7.686237],[32.587,-17.186237],[24.004,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[{"v":[[716.735,241.63],[804,195.192],[804,285.692],[193,285.692],[193,104.003],[226.048,104.003],[281.091,253.692],[381.473,181.753],[483.964,181.753],[524.196,216.607],[587.418,216.607],[654.95,246.992],[716.735,241.63]],"i":[[0,0],[-6.945,1.192],[0,0],[0,0],[0,0],[-16.764,18.172],[-34.485,-31.279],[-21.553,0],[-24.644,-15.561],[-7.663,1.787],[-24.365,-4.965],[-27.833,-4.284],[-23.477,7.238]],"o":[[20.027,-6.175],[0,0],[0,0],[0,0],[0,0],[16.763,-18.171],[26.999,24.489],[85.493,-1.787],[29.997,18.942],[3.592,0],[27.676,5.64],[24.004,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"gf","o":{"a":0,"k":100},"s":{"a":0,"k":[511.56,178.192]},"e":{"a":0,"k":[511.56,285.692]},"g":{"p":2,"k":{"a":0,"k":[0,0.67451,0.713725,0.231373,1,0.67451,0.713725,0.231373,0,0.7,1,0.1]}},"t":1},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,194.018898]},"p":{"a":0,"k":[498.975857,194.018898]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,193.845894]},"p":{"a":0,"k":[498.5,193.845894]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":1,"s":[{"v":[[193,72],[252.622,153],[325.494,149.5],[429.45,153],[483.467,224.5],[583.347,260.5],[727.561,247],[771.118,172.5],[804,103.203]],"i":[[0,0],[-19.926,-6.175],[-23.884,3.694],[-31.085,-19.5],[-23.514,-11.891],[-34.995,-6.117],[-85.065,-1.787],[-26.864,24.489],[0,0]],"o":[[6.91,1.1916],[23.359,7.239],[27.693,-4.283],[27.29,17.119],[36.937,18.679],[88.669,15.5],[21.445,0],[26.864,-24.489],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[{"v":[[193,84.993096],[252.622,153],[325.494,185.633264],[428.975,162.75],[488.009191,244.082047],[583.347,223.053055],[719.246831,214.376501],[771.118,153.000001],[804,103.203]],"i":[[0,0],[-19.926,-6.175],[-23.884,3.694],[-31.085,-19.5],[-23.514,-11.891],[-34.995,-6.117001],[-24.698299,29.705546],[-26.864,24.489],[0,0]],"o":[[6.91,1.1916],[23.359,7.239],[27.693,-4.283],[27.29,17.119],[36.937,18.679],[100.674935,51.946945],[21.445,0],[26.864,-24.489],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[{"v":[[193,72],[252.622,153],[325.494,149.5],[429.45,153],[483.467,224.5],[583.347,260.5],[727.561,247],[771.118,172.5],[804,103.203]],"i":[[0,0],[-19.926,-6.175],[-23.884,3.694],[-31.085,-19.5],[-23.514,-11.891],[-34.995,-6.117],[-85.065,-1.787],[-26.864,24.489],[0,0]],"o":[[6.91,1.1916],[23.359,7.239],[27.693,-4.283],[27.29,17.119],[36.937,18.679],[88.669,15.5],[21.445,0],[26.864,-24.489],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.67451,0.713725,0.231373]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,168.438461]},"p":{"a":0,"k":[498.5,168.438461]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[252.622,153],[193,72],[196.058,285.514],[804,285.514],[804,103.203],[771.118,172.5],[727.561,247],[583.347,260.5],[483.467,224.5],[429.45,153],[325.494,149.5],[252.622,153]],"i":[[0,0],[6.91,1.1916],[0,0],[0,0],[0,0],[26.864,-24.489],[21.445,0],[88.669,15.5],[36.937,18.679],[27.29,17.119],[27.693,-4.283],[23.359,7.239]],"o":[[-19.926,-6.175],[0,0],[0,0],[0,0],[0,0],[-26.864,24.489],[-85.065,-1.787],[-34.995,-6.117],[-23.514,-11.891],[-31.085,-19.5],[-23.884,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[{"v":[[252.622,153],[193.237929,87.6015],[196.058,285.514],[804,285.514],[804,103.203],[765.289509,160.103411],[719.246831,214.376501],[583.347,222.5],[483.467,244.082047],[427.725,162.619152],[325.494,185.633264],[252.622,153]],"i":[[0,0],[6.909999,1.1916],[0,0],[0,0],[0,0],[26.864,-24.489001],[21.445,0],[90.349002,43.5],[36.937,18.679],[27.29,17.119001],[27.693,-4.282999],[23.359,7.239]],"o":[[-19.926,-6.175],[0,0],[0,0],[0,0],[0,0],[-26.864,24.488999],[-43.068385,41.290705],[-34.995,-6.117001],[-23.514,-11.891],[-31.085,-19.5],[-23.884,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[{"v":[[252.622,153],[193,72],[196.058,285.514],[804,285.514],[804,103.203],[771.118,172.5],[727.561,247],[583.347,260.5],[483.467,224.5],[429.45,153],[325.494,149.5],[252.622,153]],"i":[[0,0],[6.91,1.1916],[0,0],[0,0],[0,0],[26.864,-24.489],[21.445,0],[88.669,15.5],[36.937,18.679],[27.29,17.119],[27.693,-4.283],[23.359,7.239]],"o":[[-19.926,-6.175],[0,0],[0,0],[0,0],[0,0],[-26.864,24.489],[-85.065,-1.787],[-34.995,-6.117],[-23.514,-11.891],[-31.085,-19.5],[-23.884,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"gf","o":{"a":0,"k":100},"s":{"a":0,"k":[519.138,74]},"e":{"a":0,"k":[519.138,285.514]},"g":{"p":2,"k":{"a":0,"k":[0,0.67451,0.713725,0.231373,1,0.67451,0.713725,0.231373,0,0.2,1,0.1]}},"t":1},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,178.757004]},"p":{"a":0,"k":[498.5,178.757004]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,178.757004]},"p":{"a":0,"k":[498.5,178.757004]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[193,194.392],[280.265,240.83],[342.05,246.192],[409.582,215.807],[472.804,215.807],[513.036,180.953],[608.587,119.289],[693.362,88.0109],[770.952,103.203],[804,103.203]],"i":[[0,0],[-20.027,-6.175],[-24.004,3.694],[-27.676,5.639],[-3.592,0],[-13.794,32.173],[-85.493,-1.787],[-26.999,24.4891],[-16.763,-18.1711],[0,0]],"o":[[6.945,1.192],[23.477,7.238],[27.833,-4.284],[24.365,-4.966],[7.663,1.787],[17.242,-40.215],[21.553,0],[34.484,-31.2787],[16.764,18.172],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[{"v":[[193,226.106109],[280.265,233.999999],[338,172.500001],[409,86.229184],[473,210.999999],[513.036,180.953],[608.587,194.3585],[688.592909,152.999999],[765.289509,137.993646],[804,134.037116]],"i":[[0,0],[-21.633635,0],[-24.004,3.694],[-27.676,5.639],[-3.592,0],[-13.794,32.173],[-37.202586,-0.140082],[-26.999,24.4891],[-16.763,-18.1711],[0,0]],"o":[[6.945,1.192],[26.02929,-10.946945],[27.833,-4.284],[24.365,-4.966],[7.663,1.787],[17.242,-40.215],[21.553,0],[34.484,-31.2787],[16.764,18.172],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[{"v":[[193,194.392],[280.265,240.83],[342.05,246.192],[409.582,215.807],[472.804,215.807],[513.036,180.953],[608.587,119.289],[693.362,88.0109],[770.952,103.203],[804,103.203]],"i":[[0,0],[-20.027,-6.175],[-24.004,3.694],[-27.676,5.639],[-3.592,0],[-13.794,32.173],[-85.493,-1.787],[-26.999,24.4891],[-16.763,-18.1711],[0,0]],"o":[[6.945,1.192],[23.477,7.238],[27.833,-4.284],[24.365,-4.966],[7.663,1.787],[17.242,-40.215],[21.553,0],[34.484,-31.2787],[16.764,18.172],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"st","o":{"a":0,"k":100},"w":{"a":0,"k":1},"c":{"a":0,"k":[0.67451,0.713725,0.231373]},"lc":1,"lj":1,"ml":4,"d":[{"n":"o","nm":"offset","v":{"a":0,"k":0}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,161.026108]},"p":{"a":0,"k":[498.5,161.026108]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[280.265,240.83],[193,193.892],[193,285.514],[804,285.514],[804,103.203],[770.952,103.203],[693.362,88.0109],[608.587,119.289],[513.036,180.953],[472.804,215.807],[409.582,215.807],[342.05,246.192],[280.265,240.83]],"i":[[0,0],[6.945,1.192],[0,0],[0,0],[0,0],[16.764,18.172],[34.484,-31.2787],[21.553,0],[17.242,-40.215],[7.663,1.787],[24.365,-4.965],[27.833,-4.284],[23.477,7.238]],"o":[[-20.027,-6.175],[0,0],[0,0],[0,0],[0,0],[-16.763,-18.1711],[-26.999,24.4891],[-85.493,-1.787],[-13.794,32.173],[-3.592,0],[-27.676,5.639],[-24.004,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":300,"s":[{"v":[[280.265,233.999999],[193,226.106109],[193,285.514],[804,285.514],[804,134.037116],[765.289509,137.993646],[688.592909,152.999999],[608.587,194.358501],[513.036,180.953],[473,210.999999],[409,86.229184],[338.5,172.5],[280.265,233.999999]],"i":[[0,0],[6.945,1.192],[0,0],[0,0],[0,0],[16.764,18.172],[34.484,-31.2787],[21.553,0],[17.242,-40.215],[7.663,1.787],[24.365,-4.965],[27.833,-4.284],[31.735,-17.186237]],"o":[[-20.144169,0],[0,0],[0,0],[0,0],[0,0],[-16.763,-18.1711],[-26.999,24.4891],[-32.587,-0.140082],[-13.794,32.173],[-3.592,0],[-27.676,5.639],[-24.004,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":600,"s":[{"v":[[280.265,240.83],[193,193.892],[193,285.514],[804,285.514],[804,103.203],[770.952,103.203],[693.362,88.0109],[608.587,119.289],[513.036,180.953],[472.804,215.807],[409.582,215.807],[342.05,246.192],[280.265,240.83]],"i":[[0,0],[6.945,1.192],[0,0],[0,0],[0,0],[16.764,18.172],[34.484,-31.2787],[21.553,0],[17.242,-40.215],[7.663,1.787],[24.365,-4.965],[27.833,-4.284],[23.477,7.238]],"o":[[-20.027,-6.175],[0,0],[0,0],[0,0],[0,0],[-16.763,-18.1711],[-26.999,24.4891],[-85.493,-1.787],[-13.794,32.173],[-3.592,0],[-27.676,5.639],[-24.004,3.694],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"gf","o":{"a":0,"k":100},"s":{"a":0,"k":[517.706,74]},"e":{"a":0,"k":[517.706,285.514]},"g":{"p":2,"k":{"a":0,"k":[0,0.67451,0.713725,0.231373,1,0.67451,0.713725,0.231373,0,0.4,1,0.1]}},"t":1},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,179.757011]},"p":{"a":0,"k":[498.5,179.757011]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,179.757011]},"p":{"a":0,"k":[498.5,179.757012]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[498.5,178.845993]},"p":{"a":0,"k":[498.5,178.845993]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}],"ind":2,"parent":3,"tt":1},{"ty":3,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[498.5,178.845993]},"p":{"a":0,"k":[498.5,178.845993]}},"ind":3,"parent":1},{"ty":3,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[405.5,304.5]},"p":{"a":0,"k":[405.5,304.5]}},"ind":1},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[405.5,304.5]},"p":{"a":0,"k":[405.5,304.5]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[51.5,222.5]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.5,3.053055]},"s":{"a":0,"k":[35,6.10611]},"r":{"a":0,"k":3.05306}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[17.5,3.053055]},"p":{"a":0,"k":[92.5,223.053055]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[75,222.5]},"p":{"a":0,"k":[75,222.5]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":60},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[51.5,277.5]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.5,3.053055]},"s":{"a":0,"k":[35,6.10611]},"r":{"a":0,"k":3.05306}},{"ty":"fl","o":{"a":0,"k":60},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[17.5,3.053055]},"p":{"a":0,"k":[92.5,278.053055]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[75,277.5]},"p":{"a":0,"k":[75,277.5]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[51.5,332.5]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.5,3.053055]},"s":{"a":0,"k":[35,6.10611]},"r":{"a":0,"k":3.05306}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[17.5,3.053055]},"p":{"a":0,"k":[92.5,333.053055]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[75,332.5]},"p":{"a":0,"k":[75,332.5]}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[23,23]}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"p":{"a":0,"k":[51.5,387.5]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.5,3.053055]},"s":{"a":0,"k":[35,6.10611]},"r":{"a":0,"k":3.05306}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[17.5,3.053055]},"p":{"a":0,"k":[92.5,388.053055]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[75,387.5]},"p":{"a":0,"k":[75,387.5]}}]},{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[47.6277,3.053055]},"s":{"a":0,"k":[95.2554,6.10611]},"r":{"a":0,"k":3.05306}},{"ty":"fl","o":{"a":0,"k":15},"c":{"a":0,"k":[0.988235,0.988235,0.988235]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[47.627701,3.05307]},"p":{"a":0,"k":[74.627701,565.05307]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[145,10],[145,599],[21.6337,599],[5,575],[5,34],[21.6337,10],[145,10]],"i":[[0,0],[0,0],[0,0],[0,13.255],[0,0],[-9.1866,0],[0,0]],"o":[[0,0],[0,0],[-9.1866,0],[0,0],[0,-13.2548],[0,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":80},"c":{"a":0,"k":[0.090196,0.090196,0.090196]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[75,304.5]},"p":{"a":0,"k":[75,304.113256]}}]},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[75,304.5]},"p":{"a":0,"k":[75,304.5]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":600,"ks":{"a":{"a":0,"k":[423.5,294.5]},"p":{"a":0,"k":[428.5,304.5]}},"shapes":[{"ty":"rc","p":{"a":0,"k":[423.5,294.5]},"s":{"a":0,"k":[847,589]},"r":{"a":0,"k":24}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1]}}]}]} \ No newline at end of file diff --git a/src/json/logoAnimation.json b/src/json/logoAnimation.json new file mode 100644 index 0000000..6fb9557 --- /dev/null +++ b/src/json/logoAnimation.json @@ -0,0 +1 @@ +{"v":"5.5.2","meta":{"a":"SVGator","d":"SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.","g":"Made in SVGator (https://www.svgator.com/)","tc":""},"metadata":{"filename":"logo-large-color.json","customProps":{"k":["SVGator","svgator","lottie animation","svg animation","lottie","svg"],"version":1,"app":"https://app.svgator.com/","site":"https://www.svgator.com/","date":"2024-06-11T18:39:23.721Z"}},"nm":"logo-large-color","ddd":0,"assets":[],"w":285,"h":62,"ip":0,"op":800,"fr":100,"fonts":{"list":[]},"layers":[{"ty":4,"st":0,"ip":0,"op":800,"ks":{"a":{"a":0,"k":[254.997001,29.98575]},"p":{"a":0,"k":[254.997002,29.985751]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[255.005,30],[284.992,0.48],[255.005,30]],"i":[[0,0],[-26.486,0],[24.279,0]],"o":[[0,-12.9596],[-0.482,15.52],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[269.998505,15.24]},"p":{"a":0,"k":[269.998505,15.24]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[225.002,0.508475],[254.99,28.6017],[255.005,30],[255.99,30],[284.977,59.4915],[254.99,31.3983],[225.002,59.4915],[253.99,30],[225.002,0.508475]],"i":[[0,0],[0,-13.7284],[0,0],[0,0],[-0.133,-13.6187],[0,13.7284],[24.58,-0.0007],[-24.279,0],[0.134,13.618725]],"o":[[24.58,0.000754],[0,0],[0,0],[24.279,0],[-24.579,-0.0007],[0,13.7284],[0.134,-13.6187],[-24.279,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[254.989494,29.999987]},"p":{"a":0,"k":[254.989495,29.999987]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":800,"ks":{"a":{"a":0,"k":[29.98995,32]},"p":{"a":0,"k":[29.98995,32]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[24.9916,25]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[-0.000001,0]},"p":{"a":0,"k":[30.489799,31.5]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[29.9899,62],[59.9799,32],[29.9899,2],[0,32],[29.9899,62],[30.4898,54],[52.9822,31.5],[30.4898,9],[7.99732,31.5],[30.4898,54]],"i":[[0,0],[0,16.5685],[16.563,0],[0,-16.5685],[-16.5629,0],[0,0],[0,12.4264],[12.4222,0],[0,-12.4264],[-12.4223,0]],"o":[[16.563,0],[0,-16.5685],[-16.5629,0],[0,16.5685],[0,0],[12.4222,0],[0,-12.4264],[-12.4223,0],[0,12.4264],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"r":2},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[29.98995,32]},"p":{"a":0,"k":[29.98995,32]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":800,"ks":{"a":{"a":0,"k":[179.990005,30.5]},"p":{"a":0,"k":[179.990006,30.5]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[156.234,35.7305],[150,38],[150,29],[149.966,29.0017],[150.933,28.457],[153.606,26.0742],[153.947,25.748],[158.307,22.1276],[164.995,20],[175.393,25.5283],[175.706,25.8499],[179.99,29],[184.274,25.8499],[184.587,25.5283],[194.985,20],[201.673,22.1276],[206.033,25.748],[206.374,26.0741],[209.047,28.457],[210.014,29.0017],[209.98,29],[209.98,38],[203.746,35.7305],[200.178,32.6031],[199.812,32.252],[196.785,29.6849],[194.985,29],[190.701,32.1501],[190.388,32.4717],[179.99,38],[169.592,32.4717],[169.279,32.1501],[164.995,29],[163.195,29.6849],[160.168,32.252],[159.802,32.603],[156.234,35.7305]],"i":[[0,0],[2.632,0],[0,0],[0,0.0001],[-0.687,0.501],[-1.106,1.0592],[-0.117,0.1118],[-1.707,1.1041],[-2.69,0],[-1.933,-1.9902],[-0.1,-0.1017],[-0.861,0],[-2.548,2.5993],[-0.109,0.1124],[-5.028,0],[-1.756,-1.1353],[-1.161,-1.1102],[-0.111,-0.1056],[-0.775,-0.5647],[0,-0.0003],[0.022,0],[0,0],[1.487,1.0836],[1.011,0.9716],[0.118,0.1127],[0.902,0.5834],[0.396,0],[2.548,-2.5993],[0.109,-0.1124],[5.028,0],[1.933,1.9902],[0.1,0.1017],[0.861,0],[0.853,-0.5522],[1.191,-1.1398],[0.126,-0.121],[1.301,-0.9484]],"o":[[-1.487,1.0836],[0,0],[-0.023,0],[0,-0.0003],[0.775,-0.5647],[0.11,-0.1057],[1.16,-1.1102],[1.755,-1.1353],[5.028,0],[0.109,0.1124],[2.548,2.5993],[0.861,0],[0.1,-0.1017],[1.933,-1.9902],[2.69,0],[1.707,1.1041],[0.117,0.1118],[1.105,1.0593],[0.687,0.501],[0,0.0001],[0,0],[-2.632,0],[-1.301,-0.9484],[-0.126,-0.1211],[-1.191,-1.1398],[-0.854,-0.5522],[-0.861,0],[-0.1,0.1017],[-1.934,1.9902],[-5.028,0],[-0.109,-0.1124],[-2.548,-2.5993],[-0.396,0],[-0.903,0.5834],[-0.118,0.1127],[-1.011,0.9717],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"r":2},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[179.990005,29]},"p":{"a":0,"k":[179.990005,29]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[156.03,15.5269],[150,17.5],[150,8.5],[151.137,7.97314],[153.801,5.86196],[154.142,5.57162],[154.262,5.46984],[164.995,0.5],[175.226,5.4029],[175.515,5.66646],[179.99,8.5],[184.465,5.66646],[184.754,5.4029],[194.985,0.5],[205.718,5.46985],[205.838,5.57162],[206.179,5.86193],[208.843,7.97314],[209.98,8.5],[209.98,17.5],[203.95,15.5269],[200.373,12.74],[200.008,12.4284],[194.985,9.5],[190.51,12.3335],[190.221,12.5971],[179.99,17.5],[169.759,12.5971],[169.47,12.3335],[164.995,9.5],[159.972,12.4284],[159.607,12.74],[156.03,15.5269]],"i":[[0,0],[2.479,0],[0,0],[-0.807,0.52293],[-1.105,0.94101],[-0.117,0.09956],[-0.04,0.03438],[-4.892,0],[-1.989,-1.81603],[-0.093,-0.08428],[-1.069,0],[-2.469,2.23841],[-0.1,0.09125],[-4.86,0],[-2.172,-1.84774],[-0.04,-0.03346],[-0.111,-0.09403],[-0.772,-0.50023],[-0.02,0],[0,0],[1.508,0.977],[1.011,0.8643],[0.118,0.1],[1.189,0],[2.469,-2.2384],[0.1,-0.0912],[4.86,0],[1.989,1.816],[0.093,0.0843],[1.068,0],[2.55,-2.1678],[0.125,-0.1075],[1.304,-0.8448]],"o":[[-1.508,0.977],[0,0],[0.02,0],[0.772,-0.50023],[0.111,-0.09404],[0.04,-0.03346],[2.171,-1.84773],[4.86,0],[0.1,0.09124],[2.469,2.23841],[1.068,0],[0.093,-0.08428],[1.989,-1.81602],[4.892,0],[0.04,0.03437],[0.117,0.09954],[1.105,0.94102],[0.807,0.52293],[0,0],[-2.479,0],[-1.304,-0.8448],[-0.126,-0.1074],[-2.55,-2.1678],[-1.069,0],[-0.093,0.0843],[-1.989,1.816],[-4.86,0],[-0.1,-0.0912],[-2.469,-2.2384],[-1.189,0],[-0.118,0.1],[-1.012,0.8643],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"r":2},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[179.989998,9]},"p":{"a":0,"k":[179.955998,9]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[156.03,58.5269],[150,60.5],[150,51.5],[151.137,50.9731],[153.801,48.862],[154.142,48.5716],[154.262,48.4698],[164.995,43.5],[175.226,48.4029],[175.515,48.6665],[179.99,51.5],[184.465,48.6665],[184.754,48.4029],[194.985,43.5],[205.718,48.4698],[205.838,48.5716],[206.179,48.8619],[208.843,50.9731],[209.98,51.5],[209.98,60.5],[203.95,58.5269],[200.373,55.74],[200.008,55.4284],[194.985,52.5],[190.51,55.3335],[190.221,55.5971],[179.99,60.5],[169.759,55.5971],[169.47,55.3335],[164.995,52.5],[159.972,55.4284],[159.607,55.74],[156.03,58.5269]],"i":[[0,0],[2.479,0],[0,0],[-0.807,0.523],[-1.105,0.941],[-0.117,0.0996],[-0.04,0.0344],[-4.892,0],[-1.989,-1.816],[-0.093,-0.0843],[-1.069,0],[-2.469,2.2384],[-0.1,0.0912],[-4.86,0],[-2.172,-1.8477],[-0.04,-0.0334],[-0.111,-0.094],[-0.772,-0.5002],[-0.02,0],[0,0],[1.508,0.977],[1.011,0.8643],[0.118,0.1],[1.189,0],[2.469,-2.2384],[0.1,-0.0912],[4.86,0],[1.989,1.816],[0.093,0.0843],[1.068,0],[2.55,-2.1678],[0.125,-0.1075],[1.304,-0.8448]],"o":[[-1.508,0.977],[0,0],[0.02,0],[0.772,-0.5002],[0.111,-0.0941],[0.04,-0.0334],[2.171,-1.8477],[4.86,0],[0.1,0.0912],[2.469,2.2384],[1.068,0],[0.093,-0.0843],[1.989,-1.816],[4.892,0],[0.04,0.0344],[0.117,0.0996],[1.105,0.9411],[0.807,0.523],[0,0],[-2.479,0],[-1.304,-0.8448],[-0.126,-0.1074],[-2.55,-2.1678],[-1.069,0],[-0.093,0.0843],[-1.99,1.816],[-4.86,0],[-0.1,-0.0912],[-2.469,-2.2384],[-1.189,0],[-0.118,0.1],[-1.012,0.8643],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.298039,0.466667,0.254902],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"r":2},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[179.989998,52]},"p":{"a":0,"k":[179.989998,52]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ty":4,"st":0,"ip":0,"op":800,"ks":{"a":{"a":0,"k":[104.989753,32.23995]},"p":{"a":0,"k":[104.989754,32.239951]}},"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[75.0025,34.1599],[104.99,57.6799],[134.977,34.1599],[104.99,61.9999],[75.0025,34.1599]],"i":[[0,0],[0,-12.9595],[-24.579,0.0007],[24.279,0],[0.1336,12.8561]],"o":[[24.5798,0.0007],[0,-12.9595],[-0.133,12.8561],[-24.2792,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[104.989754,48.079901]},"p":{"a":0,"k":[104.989754,48.079901]}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"v":[[75.0025,2.48],[104.99,26],[134.977,2.48],[104.99,30.32],[75.0025,2.48]],"i":[[0,0],[0,-12.9596],[-24.579,0.00071],[24.279,0],[0.1336,12.8561]],"o":[[24.5798,0.00071],[0,-12.9596],[-0.133,12.8561],[-24.2792,0],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":1,"k":[{"t":0,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":390,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":409.99999999999994,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":780,"s":[0.396078,0.596078,0.345098],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":800,"s":[0.67451,0.713725,0.231373],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[104.989754,16.4]},"p":{"a":0,"k":[104.989754,16.4]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]} \ No newline at end of file diff --git a/src/json/treeDarkGreenAnimation.json b/src/json/treeDarkGreenAnimation.json new file mode 100644 index 0000000..e0c49dc --- /dev/null +++ b/src/json/treeDarkGreenAnimation.json @@ -0,0 +1 @@ +{"v":"5.5.2","meta":{"a":"SVGator","d":"SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.","g":"Made in SVGator (https://www.svgator.com/)","tc":""},"metadata":{"filename":"Baum 03.json","customProps":{"k":["SVGator","svgator","lottie animation","svg animation","lottie","svg"],"version":1,"app":"https://app.svgator.com/","site":"https://www.svgator.com/","date":"2024-06-15T18:01:47.117Z"}},"nm":"Baum 03","ddd":0,"assets":[],"w":736,"h":801,"ip":0,"op":500,"fr":100,"fonts":{"list":[]},"layers":[{"ty":4,"st":0,"ip":0,"op":500,"ks":{"a":{"a":0,"k":[426.472549,516.123398]},"p":{"a":0,"k":[426.472549,516.123398]}},"shapes":[{"ty":"sh","ks":{"a":0,"k":{"v":[[391.502,338.253],[391.502,338.256],[391.502,338.256],[387.429,395.771],[384.804,392.426],[295.112,309.989],[293.236,310.634],[384.804,423.708],[385.413,423.939],[353.955,800.421],[445.194,800.421],[423.15,498.188],[451.806,476.454],[559.574,307.854],[559.657,304.315],[555.336,307.854],[419.812,451.472],[405.466,233.849],[399.438,233.849],[391.502,338.253]],"i":[[0,0],[0,0],[0,0],[1.461,-20.516],[0.852,0.856],[7.108,16.67],[0,-1.755],[-18.37,-7.259],[-0.199,-0.072],[10.888,-98.55],[0,0],[10.603,147.801],[-11.399,10.307],[-25.785,65.459],[-0.038,1.025],[4.525,-9.086],[54.499,5.328],[0,12.327],[2.01,-3.914],[4.352,-61.651]],"o":[[0,0],[0,0],[-1.247,17.671],[-0.884,-1.346],[-4.38,0.4],[-1.174,-2.752],[0.425,11.449],[0.207,0.082],[-8.84,122.973],[0,0],[0,0],[7.753,-4.403],[62.149,-56.198],[0,-1.309],[0.167,-4.537],[-33.519,67.308],[-7.787,-109.456],[0,-1.146],[-0.657,1.282],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.572549,0.388235,0.231373]},"r":2}]},{"ty":4,"st":0,"ip":0,"op":500,"ks":{"a":{"a":0,"k":[368.180573,279.96376]},"p":{"a":0,"k":[369.100495,279.96376]}},"shapes":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[646.186,374.152],[408.83,559.276],[201.888,540.103],[16.7644,208.202],[260.07,227.375],[535.111,1.25964],[646.186,374.152]],"i":[[0,0],[101.598,3.526],[79.339,15.338],[-65.4546,131.57],[-51.129,-75.592],[-287.735,-13.75204],[97.851,-120.11]],"o":[[89.917,152.86],[-35.922,0],[-99.173,-19.174],[52.3636,-105.256],[-28.209,-81.102],[287.736,13.75206],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":240,"s":[{"v":[[646.186,374.152],[408.83,559.276],[198.66893,546.089901],[28.789557,212.178792],[260.07,227.375],[535.111,1.25964],[646.186,374.152]],"i":[[0,0],[100.45015,18.807452],[79.339,15.338],[-63.551862,169.471632],[-51.129,-75.592],[-282.898477,-7.00272],[97.851,-120.11]],"o":[[83.825995,171.937901],[-35.922,0],[-88.032278,-20.003427],[41.278696,-110.076523],[-28.209,-81.102],[235.116947,5.819961],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":500,"s":[{"v":[[646.186,374.152],[408.83,559.276],[201.888,540.103],[16.7644,208.202],[260.07,227.375],[535.111,1.25964],[646.186,374.152]],"i":[[0,0],[101.598,3.526],[79.339,15.338],[-65.4546,131.57],[-51.129,-75.592],[-287.735,-13.75204],[97.851,-120.11]],"o":[[89.917,152.86],[-35.922,0],[-99.173,-19.174],[52.3636,-105.256],[-28.209,-81.102],[287.736,13.75206],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.396078,0.596078,0.345098]}}]}]} \ No newline at end of file diff --git a/src/json/treeLightGreenAnimation.json b/src/json/treeLightGreenAnimation.json new file mode 100644 index 0000000..90b4205 --- /dev/null +++ b/src/json/treeLightGreenAnimation.json @@ -0,0 +1 @@ +{"v":"5.5.2","meta":{"a":"SVGator","d":"SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.","g":"Made in SVGator (https://www.svgator.com/)","tc":""},"metadata":{"filename":"Baum 01.json","customProps":{"k":["SVGator","svgator","lottie animation","svg animation","lottie","svg"],"version":1,"app":"https://app.svgator.com/","site":"https://www.svgator.com/","date":"2024-06-15T17:58:25.965Z"}},"nm":"Baum 01","ddd":0,"assets":[],"w":324,"h":801,"ip":0,"op":500,"fr":100,"fonts":{"list":[]},"layers":[{"ty":4,"st":0,"ip":0,"op":500,"ks":{"a":{"a":0,"k":[150.536247,527.350693]},"p":{"a":0,"k":[150.536247,527.350693]}},"shapes":[{"ty":"sh","ks":{"a":0,"k":{"v":[[149.048,313.324],[157.799,256.224],[162.616,256.224],[162.184,360.812],[210.49,296.729],[213.928,297.894],[208.37,311.675],[208.37,311.675],[166.81,371.741],[162.12,374.524],[161.887,424.306],[210.957,391.133],[212.626,392.949],[161.827,437.162],[160.06,800.421],[87.1445,800.421],[147.016,327.336],[143.254,325.667],[113.756,262.829],[116.039,261.895],[149.048,313.324]],"i":[[0,0],[-0.384,0.9],[0,-1.101],[0.258,-56.147],[-12.119,28.022],[0,-3.171],[1.909,-4.996],[0,0],[24.291,-14.894],[1.454,-0.83],[0.082,-17.366],[-16.049,16.105],[1.081,-2.299],[23.569,-1.975],[0,0],[0,0],[-16.695,115.649],[1.353,0.637],[0.517,16.569],[-1.428,-3.983],[-13.242,-0.787]],"o":[[5.048,-34.662],[1.606,-3.76],[0,7.618],[19.352,-2.475],[2.151,-4.973],[-1.862,4.111],[0,0],[-7.648,20.004],[-1.675,1.027],[-0.072,15.707],[12.672,1.492],[2.987,-2.997],[-7.248,14.249],[-0.751,158.6],[0,0],[11.8273,-128.666],[-1.156,-0.478],[-22.356,-10.506],[0,-2.541],[8.242,22.984],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.572549,0.388235,0.231373]},"r":2}]},{"ty":4,"st":0,"ip":0,"op":500,"ks":{"a":{"a":0,"k":[162.200076,251.334518]},"p":{"a":0,"k":[162.200076,251.334518]},"r":{"a":1,"k":[{"t":0,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":250,"s":[3],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":500,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},"shapes":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[33.4181,481.664],[141.038,457.065],[303.268,416.887],[249.066,346.218],[322.454,180.329],[236.358,180.329],[128.738,1.98791],[61.0916,226.452],[2.66948,278.724],[64.1665,361.745],[33.4181,481.664]],"i":[[0,0],[-21.524,27.674],[-22.275,66.826],[44.073,-7.174],[9.839,34.439],[24.599,-14.349],[71.337,-17.21911],[-7.1747,-67.647],[12.29942,-44.278],[-25.6237,-9.224],[-34.43835,-46.737]],"o":[[34.4383,46.738],[51.247,5.125],[12.35,-37.049],[32.798,-36.898],[-9.84,-34.438],[-6.15,-66.622],[-71.3362,17.21919],[-14.3493,-1.025],[-12.2994,44.278],[-24.5988,20.499],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":250,"s":[{"v":[[33.4181,481.664],[141.038,457.065],[303.268,416.887],[249.066,346.218],[322.454,180.329],[236.358,180.329],[128.738,1.98791],[61.0916,226.452],[2.66948,278.724],[64.1665,361.745],[33.4181,481.664]],"i":[[0,0],[-22.538911,51.724636],[-31.763392,119.441453],[44.073,-7.174],[7.387389,59.157873],[24.599,-14.349],[71.458695,-16.706893],[-21.87742,-70.26659],[12.29942,-44.278],[-25.6237,-9.224],[-28.113497,-75.594167]],"o":[[31.86635,58.245724],[51.247,5.125],[10.036683,-37.741437],[48.719037,-33.952018],[-4.43811,-35.540182],[4.025159,-82.754877],[-81.572205,19.07141],[-14.3493,-1.025],[-12.2994,44.278],[-24.5988,20.499],[0,0]],"c":false}],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":500,"s":[{"v":[[33.4181,481.664],[141.038,457.065],[303.268,416.887],[249.066,346.218],[322.454,180.329],[236.358,180.329],[128.738,1.98791],[61.0916,226.452],[2.66948,278.724],[64.1665,361.745],[33.4181,481.664]],"i":[[0,0],[-21.524,27.674],[-22.275,66.826],[44.073,-7.174],[9.839,34.439],[24.599,-14.349],[71.337,-17.21911],[-7.1747,-67.647],[12.29942,-44.278],[-25.6237,-9.224],[-34.43835,-46.737]],"o":[[34.4383,46.738],[51.247,5.125],[12.35,-37.049],[32.798,-36.898],[-9.84,-34.438],[-6.15,-66.622],[-71.3362,17.21919],[-14.3493,-1.025],[-12.2994,44.278],[-24.5988,20.499],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.67451,0.713725,0.231373]}}]}]} \ No newline at end of file diff --git a/src/json/treeMiddleGreenAnimation.json b/src/json/treeMiddleGreenAnimation.json new file mode 100644 index 0000000..6ea1dfd --- /dev/null +++ b/src/json/treeMiddleGreenAnimation.json @@ -0,0 +1 @@ +{"v":"5.5.2","meta":{"a":"SVGator","d":"SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.","g":"Made in SVGator (https://www.svgator.com/)","tc":""},"metadata":{"filename":"Baum 02.json","customProps":{"k":["SVGator","svgator","lottie animation","svg animation","lottie","svg"],"version":1,"app":"https://app.svgator.com/","site":"https://www.svgator.com/","date":"2024-06-15T17:55:34.043Z"}},"nm":"Baum 02","ddd":0,"assets":[],"w":312,"h":800,"ip":0,"op":500,"fr":100,"fonts":{"list":[]},"layers":[{"ty":4,"st":0,"ip":0,"op":500,"ks":{"a":{"a":0,"k":[166.468002,511.593781]},"p":{"a":0,"k":[166.468002,511.593781]}},"shapes":[{"ty":"sh","ks":{"a":0,"k":{"v":[[164.059,319.373],[152.639,225.23],[149.675,225.23],[153.652,382.374],[122.842,338.064],[120.039,339.027],[154.225,403.037],[165.598,800],[210.455,800],[180.65,467.449],[212.897,400.537],[209.879,399.493],[178.386,446.53],[165.3,330.063],[187.213,294.158],[185.488,293.623],[164.927,318.573],[164.059,319.373]],"i":[[0,0],[0.302,1.209],[0,-1.157],[-2.283,-82.544],[9.406,22.06],[0,-2.622],[-25.821,-11.82],[0,0],[0,0],[12.359,114.915],[-0.629,17.037],[1.888,-4.455],[8.408,-5.564],[3.918,33.84],[-0.388,9.433],[1.079,-2.285],[4.027,0.333],[0.293,-0.274]],"o":[[-6.521,-55.996],[-0.988,-3.951],[0,9.988],[-7.583,-3.566],[-1.754,-4.112],[0.619,16.677],[4.706,169.117],[0,0],[-4.671,-86.817],[24.165,-14.694],[0,-2.841],[-9.467,22.334],[-4.651,-42.719],[16.591,-6.192],[0,-1.457],[-6.536,13.837],[-0.285,0.259],[0,0]],"c":false}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.572549,0.388235,0.231373]},"r":2}]},{"ty":4,"st":0,"ip":0,"op":500,"ks":{"a":{"a":0,"k":[156.283304,273.047793]},"p":{"a":0,"k":[156.283304,273.047793]}},"shapes":[{"ty":"sh","ks":{"a":1,"k":[{"t":0,"s":[{"v":[[257.804,386.319],[185.534,513.414],[68.4077,525.874],[75.8839,386.319],[75.8839,306.573],[1.12234,236.796],[68.4077,162.034],[48.4713,5.03508],[160.614,84.7808],[210.455,72.3205],[257.804,236.796],[310.137,306.573],[257.804,386.319]],"i":[[0,0],[53.164,21.598],[51.8343,41.866],[-24.0898,29.074],[-23.2591,21.598],[3.98728,61.803],[-24.0898,-0.83],[-69.7774,23.92372],[-8.307,-36.5501],[-9.969,-4.1534],[-12.461,-2.492],[-12.461,-69.777],[21.597,-3.323]],"o":[[69.777,153.51],[-17.444,21.597],[-51.8346,-41.867],[-55.8219,-11.962],[-23.2591,2.492],[-3.98727,-61.803],[-35.7194,-42.365],[69.7777,-23.92368],[15.949,-19.9364],[84.729,19.9365],[12.46,2.492],[9.968,55.822],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":140,"s":[{"v":[[257.804,386.319],[185.534,513.414],[56.63234,540.198735],[68.4077,399.493],[75.8839,306.573],[6.948509,230.352304],[68.4077,162.034],[68.4077,6.323397],[160.614,84.7808],[210.455,84.7808],[257.804,236.796],[302.341463,306.573],[257.804,386.319]],"i":[[0,0],[83.383796,0],[66.20966,82.204156],[-24.0898,29.074],[-23.2591,21.598],[-14.453478,49.683831],[-24.0898,-0.83],[-70.460705,7.226739],[-8.307,-36.5501],[-9.969,-4.1534],[-12.461,-2.492],[-11.74345,-39.183659],[21.597,-3.323]],"o":[[90.607924,46.381995],[-17.444,21.597],[-41.795542,-51.892235],[-71.073176,-56.256],[-23.2591,2.492],[14.453478,-49.683831],[-35.7194,-42.365],[73.380017,-7.526156],[15.949,-19.9364],[84.729,19.9365],[12.46,2.492],[16.279247,54.31798],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":323,"s":[{"v":[[257.804,386.319],[185.534,513.414],[62.618148,532.916995],[84.635953,411.020777],[84.635953,306.573],[3.986873,233.627849],[68.4077,162.034],[58.273363,5.668503],[160.614,84.7808],[210.455,78.446814],[236.397471,208.672087],[306.304194,306.573],[257.804,386.319]],"i":[[0,0],[68.022066,10.978983],[58.902185,61.698926],[-24.0898,29.074],[-23.2591,21.598],[-5.079426,55.844409],[-24.0898,-0.83],[-70.113358,15.714371],[-8.307,-36.5501],[-9.969,-4.1534],[-12.461,-2.492],[-12.108204,-54.735274],[21.597,-3.323]],"o":[[80.018871,100.838731],[-17.444,21.597],[-46.89873,-46.796074],[-63.320444,-33.739884],[-23.2591,2.492],[5.079431,-55.844408],[-35.7194,-42.365],[71.54884,-15.861565],[15.949,-19.9364],[84.729,19.9365],[12.46,2.492],[13.07103,55.082524],[0,0]],"c":false}],"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0}},{"t":500,"s":[{"v":[[257.804,386.319],[185.534,513.414],[68.4077,525.874],[75.8839,386.319],[75.8839,306.573],[1.12234,236.796],[68.4077,162.034],[48.4713,5.03508],[160.614,84.7808],[210.455,72.3205],[257.804,236.796],[310.137,306.573],[257.804,386.319]],"i":[[0,0],[53.164,21.598],[51.8343,41.866],[-24.0898,29.074],[-23.2591,21.598],[3.98728,61.803],[-24.0898,-0.83],[-69.7774,23.92372],[-8.307,-36.5501],[-9.969,-4.1534],[-12.461,-2.492],[-12.461,-69.777],[21.597,-3.323]],"o":[[69.777,153.51],[-17.444,21.597],[-51.8346,-41.867],[-55.8219,-11.962],[-23.2591,2.492],[-3.98727,-61.803],[-35.7194,-42.365],[69.7777,-23.92368],[15.949,-19.9364],[84.729,19.9365],[12.46,2.492],[9.968,55.822],[0,0]],"c":false}],"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.6,0.733333,0.419608]}}]}]} \ No newline at end of file diff --git a/src/main.tsx b/src/main.tsx index 3d7150d..ab0dea0 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,10 +1,14 @@ import React from 'react' import ReactDOM from 'react-dom/client' -import App from './App.tsx' -import './index.css' +import App from './tsx/App.tsx' +import Footer from './tsx/layout/Footer.tsx' +import Header from './tsx/layout/Header.tsx' +import './css/site.css' ReactDOM.createRoot(document.getElementById('root')!).render( - - - , + +
+ +