diff --git a/.github/workflows/deploy-backend-dev.yml b/.github/workflows/deploy-backend-dev.yml index e49b04cb7..ee523bd36 100644 --- a/.github/workflows/deploy-backend-dev.yml +++ b/.github/workflows/deploy-backend-dev.yml @@ -25,7 +25,7 @@ jobs: role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-backend-access aws-region: ap-south-1 - - name: Build backend and deploy to S3 + - name: Build backend and copy zip to S3 run: | apt-get update && apt-get install -y zip GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main main.go diff --git a/.github/workflows/deploy-backend-prod.yml b/.github/workflows/deploy-backend-prod.yml index c426cd375..8da8b8da4 100644 --- a/.github/workflows/deploy-backend-prod.yml +++ b/.github/workflows/deploy-backend-prod.yml @@ -25,7 +25,7 @@ jobs: role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-backend-access aws-region: ap-south-1 - - name: Build backend and deploy to S3 + - name: Build backend and copy zip to S3 run: | apt-get update && apt-get install -y zip GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main main.go diff --git a/.github/workflows/deploy-frontend-dev.yml b/.github/workflows/deploy-frontend-dev.yml index ea851975a..93d8bd434 100644 --- a/.github/workflows/deploy-frontend-dev.yml +++ b/.github/workflows/deploy-frontend-dev.yml @@ -1,7 +1,10 @@ -name: DeployFrontendDev +name: DeployFrontendServerlessDev on: - push: + workflow_run: + workflows: ["DeployBackendDev"] + types: + - completed branches: - "master" @@ -25,13 +28,27 @@ jobs: role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-frontend-access aws-region: ap-south-1 - - name: Build frontend and copy to S3 + - name: Build frontend and copy zip to S3 run: | cd nuxt-frontend - sed -i "s|VITE_IFRAMELY_KEY_VALUE|${{ secrets.IFRAMELY_KEY }}|g" config.js sed -i "s|VITE_RECAPTCHA_SITE_KEY_VALUE|${{ secrets.RECAPTCHA_SITE_KEY }}|g" config.js - sh ./../deploy/generate-sitemap.sh https://dev-stack.canopas.com https://dev-stack-api.canopas.com - yarn install --frozen-lockfile && yarn generate - aws s3 sync ./.output/public s3://dev-stack.canopas.com --exclude "*.js" - aws s3 sync ./.output/public s3://dev-stack.canopas.com --include "*.js" --content-type "application/javascript" - aws cloudfront create-invalidation --distribution-id ${{ secrets.DEV_CLOUDFRONT_DISTRIBUTION_ID }} --paths "/*" \ No newline at end of file + sed -i "s|RESOURCES_URL|${{ secrets.RESOURCES_URL }}|g" config.js + sed -i "s|CLOUDFRONT_URL_VALUE|${{ secrets.CLOUDFRONT_URL_VALUE_DEV }}|g" config.js + yarn install --frozen-lockfile && yarn build + cd .output/server && zip canopas_website_SSR_dev_${{ github.sha }}-${{ github.run_attempt }}.zip -r . && aws s3 cp canopas_website_SSR_dev_${{ github.sha }}-${{ github.run_attempt }}.zip s3://canopas-lambda-handlers && cd ../.. + aws s3 rm s3://canopas-website-ssr-dev --recursive + aws s3 sync --cache-control 'max-age=604800' --exclude *.html ./.output/public s3://canopas-website-ssr-dev + aws s3 sync ./.output/public s3://canopas-website-ssr-dev + + - name: Deploy cloudformation stack + id: canopas-website-dev-lambda-stack-frontend + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: canopas-website-dev-lambda-stack-frontend + template: infrastructure/frontend.yml + capabilities: CAPABILITY_IAM,CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND + timeout-in-minutes: "10" + no-fail-on-empty-changeset: "1" + parameter-overrides: >- + EnvName=dev, + ZipFileName=canopas_website_SSR_dev_${{ github.sha }}-${{ github.run_attempt }}.zip diff --git a/.github/workflows/deploy-frontend-prod.yml b/.github/workflows/deploy-frontend-prod.yml index ef079df49..c1495a21c 100644 --- a/.github/workflows/deploy-frontend-prod.yml +++ b/.github/workflows/deploy-frontend-prod.yml @@ -1,7 +1,10 @@ -name: DeployFrontendProd +name: DeployFrontendServerlessProd on: - push: + workflow_run: + workflows: ["DeployBackendProd"] + types: + - completed branches: - "master" @@ -25,14 +28,28 @@ jobs: role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-frontend-access aws-region: ap-south-1 - - name: Build frontend and copy to S3 + - name: Build frontend and copy zip to S3 run: | cd nuxt-frontend - sed -i "s|VITE_IFRAMELY_KEY_VALUE|${{ secrets.IFRAMELY_KEY }}|g" config.prod.js sed -i "s|VITE_RECAPTCHA_SITE_KEY_VALUE|${{ secrets.RECAPTCHA_SITE_KEY }}|g" config.prod.js + sed -i "s|RESOURCES_URL|${{ secrets.RESOURCES_URL }}|g" config.prod.js + sed -i "s|CLOUDFRONT_URL_VALUE|${{ secrets.CLOUDFRONT_URL_VALUE_PROD }}|g" config.prod.js mv config.prod.js config.js - sh ./../deploy/generate-sitemap.sh https://canopas.com https://prod-stack-api.canopas.com - yarn install --frozen-lockfile && yarn generate - aws s3 sync ./.output/public s3://canopas.com --exclude "*.js" - aws s3 sync ./.output/public s3://canopas.com --include "*.js" --content-type "application/javascript" - aws cloudfront create-invalidation --distribution-id ${{ secrets.PROD_CLOUDFRONT_DISTRIBUTION_ID }} --paths "/*" \ No newline at end of file + yarn install --frozen-lockfile && yarn build + cd .output/server && zip canopas_website_SSR_prod_${{ github.sha }}-${{ github.run_attempt }}.zip -r . && aws s3 cp canopas_website_SSR_prod_${{ github.sha }}-${{ github.run_attempt }}.zip s3://canopas-lambda-handlers && cd ../.. + aws s3 rm s3://canopas-website-ssr-dev --recursive + aws s3 sync --cache-control 'max-age=604800' --exclude *.html ./.output/public s3://canopas-website-ssr-prod + aws s3 sync ./.output/public s3://canopas-website-ssr-prod + + - name: Deploy cloudformation stack + id: canopas-website-prod-lambda-stack-frontend + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: canopas-website-prod-lambda-stack-frontend + template: infrastructure/frontend.yml + capabilities: CAPABILITY_IAM,CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND + timeout-in-minutes: "10" + no-fail-on-empty-changeset: "1" + parameter-overrides: >- + EnvName=prod, + ZipFileName=canopas_website_SSR_prod_${{ github.sha }}-${{ github.run_attempt }}.zip diff --git a/README.md b/README.md index 8dd733571..97266857d 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,21 @@ +

+

Website with intuitive UI designs

We intend to keep this open source. Plan is to keep the repository up to date with latest technologies and best practices. ## Showcase -This repository contains the working code of [Canopas website](https://canopas.com). You can check out the link to view a live example of this repository. - -### [Home Page](https://canopas.com/) +This repository contains the working code of [Canopas website](https://canopas.com). +You can also check out [website](https://canopas.com/) to view a live example of this repository. ### [Services](https://canopas.com/services) -### [Contributions](https://canopas.com/contributions) +

+ +### [portfolio](https://canopas.com/portfolio) + +

--- @@ -32,21 +37,21 @@ This repository contains the working code of [Canopas website](https://canopas.c # Key Features -1. **Vuejs as Frontend:** Canopas website is built using Vue.js, a progressive JavaScript framework that offers a flexible and efficient way to build user interfaces. Vue.js is renowned for its simplicity and ease of integration, making it an ideal choice for creating dynamic and interactive web applications. +1. **Nuxt 3 as Frontend:** Canopas website is built using Nuxt 3, a progressive JavaScript framework that offers a flexible and efficient way to build user interfaces. Nuxt is renowned for its simplicity and ease of integration, making it an ideal choice for creating dynamic and interactive web applications. -2. **Go as Backend:** canopas website backend is developed using the Go programming language, commonly referred to as Golang. Go is a statically typed, compiled language designed for simplicity, efficiency, and concurrency. With its focus on performance and readability, Go offers a robust foundation for building scalable applications. +2. **Go as Backend:** Backend is developed using Golang. Go is a statically typed, compiled language designed for simplicity, efficiency, and concurrency. With its focus on performance and readability, Go offers a robust foundation for building scalable applications. -3. **Server Side Rendering:** We have used SSR(Server Side Rendering) in website to improve performance. Server will render UI in `` part of `vue-frontend/index.html`. Due to this, reformating of `index.html` can cause UI breaking. +3. **Server Side Rendering:** We have used Nuxt's different rendering modes for the website. For static pages, its SSG and for dynamic pages, we used SSR/ISR. -4. **SEO-friendly URLs and Metadata:** We prioritize SEO best practices to ensure that canopas website receive the visibility they deserve in search engines. From meta tags to URL structure and sitemaps, canopas website is equipped with all the essential elements for optimal SEO. +4. **SEO-friendly URLs and Metadata:** We prioritize SEO best practices to ensure that canopas website receive the visibility they deserve in search engines. From meta tags to URL structure and dynamic sitemaps, canopas website is equipped with all the essential elements for optimal SEO. 5. **Responsive and Mobile-friendly Design:** We understand the importance of a mobile-friendly design in modern SEO. Canopas website is fully responsive and adapts seamlessly to various screen sizes, providing a positive user experience across devices. -6. **CI/CD and Deployment:** With CI in place, every code change is automatically tested and integrated into the main codebase. This ensures that the main branch always remains stable, reducing the chances of bugs and allowing for rapid deployment. This repository contains AWS ECR/ECS and EC2 stack for frontend and backend deployment. +6. **CI/CD and Deployment:** With CI in place, every code change is automatically tested and integrated into the main codebase. This ensures that the main branch always remains stable, reducing the chances of bugs and allowing for rapid deployment. This repository contains AWS Lambda, S3 and CloudFront stack for smooth deployment using cloudformation template. 7. **Code formatting and linting:** Clean, readable, and consistent code is the foundation of any successful project. This website follows strict code formatting and linting rules, which are enforced through automated tools. This ensures that the codebase remains maintainable and adheres to industry best practices. -8. **reCAPTCHA Integration:** Security is paramount, especially when it comes to user-generated content. Canopas website integrates reCAPTCHA, a widely trusted CAPTCHA service, to protect your site from spam and abuse while maintaining a user-friendly experience. +8. **reCAPTCHA Integration:** Security is important aspect, especially when it comes to user-generated content. Canopas website integrates reCAPTCHA, a widely trusted CAPTCHA service, to protect your site from spam and abuse while maintaining a user-friendly experience. --- @@ -54,7 +59,7 @@ This repository contains the working code of [Canopas website](https://canopas.c ## Requirements -- Go 1.20 +- Go 1.21 ## Setup @@ -126,11 +131,15 @@ This repository contains the working code of [Canopas website](https://canopas.c [Here](https://github.com/canopas/canopas-website/blob/master/api-doc.md) is APIs reference used in the website. +### For generating sitemap : + +- Add your pages to templates/path.txt + # Canopas website -- Frontend ## Requirements -- Node18 +- Node20 ## Setup @@ -152,16 +161,6 @@ yarn dev yarn build ``` -### Server side rendering - -``` -yarn build -``` - -``` -yarn serve -``` - You can access the page by pointing a web browser at http://localhost:8080. # Formatting and Linting @@ -228,6 +227,12 @@ git config core.hooksPath .githooks - Used for Animation. +## Credits + +This repository is owned and maintained by the [Canopas team](https://canopas.com/). If you are interested in building web apps or designing products, please let us know. We'd love to hear from you! + + + ## LICENSE -Canopas is released under the [GNU V3](https://github.com/canopas/canopas-website/blob/master/LICENSE.md). +Canopas website is released under the [GNU V3](https://github.com/canopas/canopas-website/blob/master/LICENSE.md). diff --git a/api-doc.md b/api-doc.md index 949f47910..f9f0b44fe 100644 --- a/api-doc.md +++ b/api-doc.md @@ -259,44 +259,38 @@ - Status Code: 200 Ok - Headers : none - Data : - - - http://canopas.com - monthly - 2022-03-01T00:00:00.000Z - 1 - - - http://canopas.com/jobs - monthly - 2022-03-01T00:00:00.000Z - 1 - - - http://canopas.com/contact - monthly - 2022-03-01T00:00:00.000Z - 0.9 - - - https://blog.canopas.com - monthly - 2022-03-01T00:00:00.000Z - 0.8 - - - http://canopas.com/jobs/ios-developers-a9b45f34-a1a5-419f-b536-b7c290925d6d - monthly - 2022-03-01T00:00:00.000Z - 0.9 - - - http://canopas.com/jobs/apply/ios-developers-a9b45f34-a1a5-419f-b536-b7c290925d6d - monthly - 2022-03-01T00:00:00.000Z - 0.9 - - + [ + { + "loc": "/services", + "changefreq": "monthly", + "lastmod": "2024-02-01T00:00:00.000Z", + "priority": "0.9" + }, + { + "loc": "/portfolio", + "changefreq": "monthly", + "lastmod": "2024-02-01T00:00:00.000Z", + "priority": "0.9" + }, + { + "loc": "/contributions", + "changefreq": "monthly", + "lastmod": "2024-02-01T00:00:00.000Z", + "priority": "0.9" + }, + { + "loc": "/resources", + "changefreq": "monthly", + "lastmod": "2024-02-01T00:00:00.000Z", + "priority": "0.9" + }, + { + "loc": "/blog", + "changefreq": "monthly", + "lastmod": "2024-02-01T00:00:00.000Z", + "priority": "0.9" + }, + ] ``` ### 6. Send New Leave Request mail diff --git a/assets/banner.png b/assets/banner.png new file mode 100644 index 000000000..3362c70b3 Binary files /dev/null and b/assets/banner.png differ diff --git a/assets/cta.png b/assets/cta.png new file mode 100644 index 000000000..dd8d9fbd8 Binary files /dev/null and b/assets/cta.png differ diff --git a/assets/portfolio.gif b/assets/portfolio.gif new file mode 100644 index 000000000..222357d44 Binary files /dev/null and b/assets/portfolio.gif differ diff --git a/assets/services.gif b/assets/services.gif new file mode 100644 index 000000000..86dda0e2b Binary files /dev/null and b/assets/services.gif differ diff --git a/infrastructure/frontend.yml b/infrastructure/frontend.yml index 523b1ab25..2985bfd25 100644 --- a/infrastructure/frontend.yml +++ b/infrastructure/frontend.yml @@ -1,82 +1,40 @@ -AWSTemplateFormatVersion: 2010-09-09 -Description: An ECS with launchType EC2 frontend stack +AWSTemplateFormatVersion: "2010-09-09" +Transform: + - AWS::LanguageExtensions + - AWS::Serverless-2016-10-31 + +Description: Canopas website serverless deployment with SSR. Parameters: EnvName: Type: String - Description: Name of an environment. 'dev', 'staging', 'prod' and any name. + Description: Name of an environment. AllowedPattern: ^.*[^0-9]$ ConstraintDescription: Must end with non-numeric character. - ClusterName: - Type: String - Description: Name of ECS cluster - ImageTag: - Type: String - Description: Website Docker frontend image tag - NginxImageTag: + AllowedValues: + - dev + - prod + ZipFileName: Type: String - Description: NGINX Docker image tag - BlogImageTag: - Type: String - Description: Blog Docker image tag + Description: Name of the zip file. -Resources: - TaskDefinition: - Type: AWS::ECS::TaskDefinition - Properties: - Family: - Fn::Sub: canopas-website-${EnvName}-full-stack-task-definition - ExecutionRoleArn: - Fn::Sub: arn:aws:iam::${AWS::AccountId}:role/ecsTaskExecutionRole - NetworkMode: "bridge" - ContainerDefinitions: - - Name: "canopas-website-nginx" - Hostname: "canopas-website-nginx" - Memory: 128 - Cpu: 128 - Essential: true - Image: - Fn::Sub: ${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com/canopas-website-nginx:${NginxImageTag} - PortMappings: - - ContainerPort: 80 - HostPort: 80 - Protocol: tcp - Links: - - canopas-website-frontend - - canopas-blog - - - Name: "canopas-website-frontend" - Memory: 256 - Cpu: 256 - Essential: true - Image: - Fn::Sub: ${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com/canopas-website-frontend:${ImageTag} - PortMappings: - - ContainerPort: 3080 - HostPort: 3080 - Protocol: tcp - - Name: "canopas-blog" - Memory: 256 - Cpu: 256 - Essential: true - Image: - Fn::Sub: ${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com/canopas-blog:${BlogImageTag} - PortMappings: - - ContainerPort: 3000 - HostPort: 3000 - Protocol: tcp - - ECSService: - Type: AWS::ECS::Service +Resources: + SSRFunction: + Type: AWS::Serverless::Function Properties: - ServiceName: "canopas-website-full-stack" - LaunchType: EC2 - Cluster: - Fn::Sub: ${ClusterName} - DesiredCount: 1 - TaskDefinition: - Ref: "TaskDefinition" - DeploymentConfiguration: - MaximumPercent: 100 - MinimumHealthyPercent: 0 + PackageType: Zip + CodeUri: + Fn::Sub: s3://canopas-lambda-handlers/${ZipFileName} + Handler: index.handler + Runtime: nodejs20.x + Architectures: + - x86_64 + MemorySize: 256 + Timeout: 30 + FunctionName: + Fn::Sub: canopas-website-ssr-frontend-${EnvName} + Description: + Fn::Sub: Canopas Website SSR Frontend Lambda ${EnvName} + FunctionUrlConfig: + AuthType: NONE \ No newline at end of file diff --git a/main.go b/main.go index 8e888d8f5..3345cfe9b 100644 --- a/main.go +++ b/main.go @@ -26,6 +26,7 @@ import ( ) //go:embed templates/*.html +//go:embed templates/*.txt var templateFS embed.FS var router *gin.Engine @@ -55,7 +56,7 @@ func setupRouter() *gin.Engine { utilsRepo := utils.NewEmail() contactRepo := contact.New(templateFS, utilsRepo) jobsRepo := jobs.New(sqlDb, templateFS, utilsRepo) - sitemapRepo := sitemap.New(jobsRepo) + sitemapRepo := sitemap.New(jobsRepo, templateFS) leaveRepo := leave.New(templateFS, utilsRepo) notificationRepo := notification.New(templateFS, utilsRepo) lifePerksImagesRepo := jobs.NewLifePerksImages(sqlDb) diff --git a/nuxt-frontend/.prettierignore b/nuxt-frontend/.prettierignore new file mode 100644 index 000000000..7ad30b878 --- /dev/null +++ b/nuxt-frontend/.prettierignore @@ -0,0 +1,2 @@ +*.yml +*.json \ No newline at end of file diff --git a/nuxt-frontend/assets/css/app.css b/nuxt-frontend/assets/css/app.css index 06af5712b..844a61772 100644 --- a/nuxt-frontend/assets/css/app.css +++ b/nuxt-frontend/assets/css/app.css @@ -3,15 +3,7 @@ font-family: Product Sans; font-style: normal; font-weight: 400; - src: url(../fonts/ProductSans-Regular-Subset.woff2) format("woff2"); -} - -@font-face { - font-display: swap; - font-family: FuturaLT-Bold; - font-style: bold; - font-weight: 700; - src: url(../fonts/FuturaLT-Bold-Subset.woff2); + src: url(~/assets/fonts/ProductSans-Regular-Subset.woff2) format("woff2"); } @font-face { @@ -19,7 +11,7 @@ font-family: Inter-Bold; font-style: bold; font-weight: 700; - src: url(../fonts/Inter-Bold-Subset.woff2) format("woff2"); + src: url(~/assets/fonts/Inter-Bold-Subset.woff2) format("woff2"); } @font-face { @@ -27,7 +19,7 @@ font-family: Inter-SemiBold; font-style: normal; font-weight: 600; - src: url(../fonts/Inter-SemiBold-Subset.woff2) format("woff2"); + src: url(~/assets/fonts/Inter-SemiBold-Subset.woff2) format("woff2"); } @font-face { @@ -35,7 +27,7 @@ font-family: Inter-Medium; font-style: medium; font-weight: 500; - src: url(../fonts/Inter-Medium-Subset.woff2) format("woff2"); + src: url(~/assets/fonts/Inter-Medium-Subset.woff2) format("woff2"); } @font-face { @@ -43,7 +35,7 @@ font-family: Inter-Regular; font-style: normal; font-weight: 400; - src: url(../fonts/Inter-Regular-Subset.woff2) format("woff2"); + src: url(~/assets/fonts/Inter-Regular-Subset.woff2) format("woff2"); } @font-face { @@ -51,37 +43,85 @@ font-family: Inter-Light; font-style: normal; font-weight: 300; - src: url(../fonts/Inter-Light-Subset.woff2) format("woff2"); + src: url(~/assets/fonts/Inter-Light-Subset.woff2) format("woff2"); +} + +@font-face { + font-display: swap; + font-family: Opensans-Bold; + font-style: bold; + font-weight: 700; + src: url(~/assets/fonts/OpenSans-Bold-Subset.woff2) format("woff2"); } @font-face { font-display: swap; - font-family: Roboto-Bold; + font-family: Opensans-SemiBold; font-style: normal; font-weight: 600; - src: url(../fonts/Roboto-Bold-Subset.woff2); + src: url(~/assets/fonts/OpenSans-SemiBold-Subset.woff2) format("woff2"); +} + +@font-face { + font-display: swap; + font-family: Source CodePro; + font-style: normal; + font-weight: 400; + src: url(~/assets/fonts/Source-codePro.woff2) format("woff2"); } @font-face { font-display: swap; - font-family: Roboto-Medium; + font-family: Poppins Regular; font-style: normal; + font-weight: 400; + src: url(~/assets/fonts/Poppins-Regular-Subset.woff2) format("woff2"); +} + +@font-face { + font-display: swap; + font-family: Poppins Medium; + font-style: medium; font-weight: 500; - src: url(../fonts/Roboto-Medium-Subset.woff2); + src: url(~/assets/fonts/Poppins-Medium-Subset.woff2) format("woff2"); } @font-face { font-display: swap; - font-family: Opensans-Bold; - font-style: bold; - font-weight: 700; - src: url(../fonts/Open-Sans-Bold.woff2) format("woff2"); + font-family: Inter-ExtraLight; + font-style: normal; + font-weight: 200; + src: url(~/assets/fonts/Inter-ExtraLight-Subset.woff2) format("woff2"); } @font-face { font-display: swap; - font-family: Opensans-SemiBold; + font-family: Comme-Light; + font-style: normal; + font-weight: 300; + src: url(~/assets/fonts/Comme-Light-Subset.woff2) format("woff2"); +} + +@font-face { + font-display: swap; + font-family: Comme-Regular; + font-style: normal; + font-weight: 400; + src: url(~/assets/fonts/Comme-Regular-Subset.woff2) format("woff2"); +} + +@font-face { + font-display: swap; + font-family: Comme-Medium; + font-style: normal; + font-weight: 500; + src: url(~/assets/fonts/Comme-Medium-Subset.woff2) format("woff2"); +} + +@font-face { + font-display: swap; + font-family: Comme-SemiBold; font-style: normal; font-weight: 600; - src: url(../fonts/Open-Sans-SemiBold.woff2) format("woff2"); + src: url(~/assets/fonts/Comme-SemiBold-Subset.woff2) format("woff2"); } diff --git a/nuxt-frontend/assets/css/global.css b/nuxt-frontend/assets/css/global.css index 4a9b1cc46..be1b084d6 100644 --- a/nuxt-frontend/assets/css/global.css +++ b/nuxt-frontend/assets/css/global.css @@ -133,7 +133,7 @@ } .gradient-btn { - @apply mb-0 ml-auto mr-auto mt-5 rounded-[0.6rem] border border-solid border-transparent from-[#ff835b] to-[#f2709c] p-4 text-center text-white bg-gradient-[270.11deg] hover:bg-gradient-to-r hover:from-[#ff9472] hover:via-[#ff909c] hover:to-[#f2709c] hover:shadow-[inset_2px_1000px_1px_#fff] active:scale-[0.98] lg:mb-0 lg:ml-2 lg:mr-2 lg:mt-5 lg:px-4 lg:py-4; + @apply mb-0 ml-auto mr-auto mt-5 rounded-[0.6rem] border border-solid border-transparent from-orange-300 to-pink-300 p-4 text-center text-white bg-gradient-[270.11deg] lg:hover:bg-gradient-to-r lg:hover:shadow-[inset_2px_1000px_1px_white] active:scale-[0.98] lg:mb-0 lg:ml-2 lg:mr-2 lg:mt-5 lg:px-4 lg:py-4; } .gradient-btn > span { @@ -142,25 +142,25 @@ .gradient-btn:hover > a > span, .gradient-btn:hover > span { - @apply from-[#f2709c] to-[#ff9472] bg-clip-text text-transparent bg-gradient-[89.88deg]; + @apply lg:bg-clip-text lg:text-transparent lg:bg-gradient-[89.88deg]; } .white-btn > span { - @apply from-[#FF835B] to-[#F2709C] bg-clip-text text-transparent bg-gradient-[270.11deg]; + @apply from-orange-300 to-pink-300 bg-clip-text text-transparent bg-gradient-[270.11deg]; } .gradient-btn:hover > .fa, .gradient-btn:hover > .fas, .gradient-btn:hover > a > .fab { - @apply text-[#f2709c]; + @apply lg:text-pink-300; } .gradient-border-btn { - @apply m-[5px] rounded-[0.6rem] border border-solid border-transparent bg-gradient-to-r from-[#ff9472] via-[#ff909c] to-[#f2709c] p-[1rem] text-center shadow-[inset_2px_1000px_1px_#fff] hover:border hover:border-solid hover:border-transparent hover:from-[#f2709c] hover:to-[#ff9472] hover:shadow-none hover:bg-gradient-[91.53deg] active:scale-[0.98]; + @apply m-[5px] rounded-[0.6rem] border border-solid border-transparent bg-gradient-to-r from-orange-300 to-pink-300 p-4 text-center shadow-[inset_2px_1000px_1px_white] lg:hover:border lg:hover:border-solid lg:hover:border-transparent lg:hover:from-pink-300 lg:hover:to-orange-300 lg:hover:shadow-none lg:hover:bg-gradient-[91.53deg] active:scale-[0.98]; } .gradient-border-btn > a > .fab { - @apply text-[#f2709c]; + @apply text-pink-300; } .gradient-border-btn:hover > .arrow, @@ -168,9 +168,28 @@ .gradient-border-btn:hover > a > .fab, .gradient-border-btn:hover > span, .gradient-border-btn:hover > span > span { - @apply text-white; + @apply lg:text-white; + } + .white-border-btn { + @apply m-[5px] rounded-[0.6rem] border border-solid border-transparent bg-gradient-to-r p-4 text-center shadow-[inset_2px_1000px_1px_white] active:scale-[0.98]; } + .white-border-btn > span { + @apply from-orange-300 to-pink-300 bg-clip-text text-transparent bg-gradient-[270.11deg]; + } + .white-gradient-border-btn { + @apply m-[5px] border border-solid border-transparent bg-gradient-to-r from-orange-300 to-pink-300 p-4 text-center shadow-[inset_2px_1000px_1px_white] lg:hover:border-transparent lg:hover:from-pink-300 lg:hover:to-orange-300 lg:hover:shadow-none lg:hover:bg-gradient-[91.53deg] active:scale-[0.98]; + } + .white-gradient-border-btn > span { + @apply from-orange-300 to-pink-300 bg-clip-text text-transparent bg-gradient-[270.11deg]; + } + .white-gradient-border-btn > .fa { + @apply text-pink-300; + } + .white-gradient-border-btn:hover > span, + .white-gradient-border-btn:hover > .fa { + @apply lg:text-white; + } .mobile-header-1 { @apply font-opensans-bold tracking-[-0.08rem] text-[2rem] leading-[2.6rem]; } @@ -178,22 +197,28 @@ @apply font-opensans-bold tracking-[-0.08rem] text-2xl leading-9; } .mobile-header-2-regular { - @apply font-inter-regular tracking-[-0.08rem] xl:tracking-normal text-2xl leading-9; + @apply font-inter-regular tracking-[-0.08rem] lg:tracking-normal text-2xl leading-9; + } + .mobile-header-2-bold { + @apply font-inter-bold tracking-[-0.08rem] lg:tracking-normal text-2xl leading-9; } .mobile-header-2-semibold { - @apply font-inter-semibold tracking-[-0.08rem] xl:tracking-normal text-2xl leading-9; + @apply font-inter-semibold tracking-[-0.08rem] lg:tracking-normal text-2xl leading-9; } .mobile-header-3 { - @apply font-opensans-semibold tracking-[-0.08rem] xl:tracking-normal text-xl leading-[1.875rem]; + @apply font-opensans-semibold tracking-[-0.08rem] lg:tracking-normal text-xl leading-[1.875rem]; } .mobile-header-3-regular { - @apply font-inter-regular tracking-[-0.08rem] xl:tracking-normal text-xl leading-[1.875rem]; + @apply font-inter-regular tracking-[-0.08rem] lg:tracking-normal text-xl leading-[1.875rem]; } .mobile-header-3-medium { - @apply font-inter-medium tracking-[-0.08rem] xl:tracking-normal text-xl leading-[1.875rem]; + @apply font-inter-medium tracking-[-0.08rem] lg:tracking-normal text-xl leading-[1.875rem]; } .mobile-header-3-semibold { - @apply font-inter-semibold tracking-[-0.08rem] xl:tracking-normal text-xl leading-[1.875rem]; + @apply font-inter-semibold tracking-[-0.08rem] lg:tracking-normal text-xl leading-[1.875rem]; + } + .mobile-header-3-bold { + @apply font-inter-bold tracking-[-0.08rem] lg:tracking-normal text-xl leading-[1.875rem]; } .desk-header-1 { @apply font-opensans-bold tracking-[-0.08rem] text-6xl leading-[4.875rem]; @@ -225,6 +250,9 @@ .sub-h3-semibold { @apply font-inter-semibold text-base; } + .sub-h3-bold { + @apply font-inter-bold text-base; + } .sub-h4-regular { @apply font-inter-regular text-xs leading-[1.125rem]; } @@ -240,10 +268,6 @@ .primary-btn { @apply h-12 mx-auto flex w-max items-center rounded-xl py-3 px-6 text-center; } - - .primary-color { - @apply text-[#FF9472]; - } .secondary-color { @apply text-[#F2709C]; } diff --git a/nuxt-frontend/assets/fonts/Comme-Light-Subset.woff2 b/nuxt-frontend/assets/fonts/Comme-Light-Subset.woff2 new file mode 100644 index 000000000..2bb90ed51 Binary files /dev/null and b/nuxt-frontend/assets/fonts/Comme-Light-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Comme-Medium-Subset.woff2 b/nuxt-frontend/assets/fonts/Comme-Medium-Subset.woff2 new file mode 100644 index 000000000..b4219588d Binary files /dev/null and b/nuxt-frontend/assets/fonts/Comme-Medium-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Comme-Regular-Subset.woff2 b/nuxt-frontend/assets/fonts/Comme-Regular-Subset.woff2 new file mode 100644 index 000000000..591d0aaa4 Binary files /dev/null and b/nuxt-frontend/assets/fonts/Comme-Regular-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Comme-SemiBold-Subset.woff2 b/nuxt-frontend/assets/fonts/Comme-SemiBold-Subset.woff2 new file mode 100644 index 000000000..e99e8c88b Binary files /dev/null and b/nuxt-frontend/assets/fonts/Comme-SemiBold-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/FuturaLT-Bold-Subset.woff2 b/nuxt-frontend/assets/fonts/FuturaLT-Bold-Subset.woff2 deleted file mode 100644 index f077ffa24..000000000 Binary files a/nuxt-frontend/assets/fonts/FuturaLT-Bold-Subset.woff2 and /dev/null differ diff --git a/nuxt-frontend/assets/fonts/Inter-Bold-Subset.woff2 b/nuxt-frontend/assets/fonts/Inter-Bold-Subset.woff2 index b7e9b44fd..099eef9cd 100644 Binary files a/nuxt-frontend/assets/fonts/Inter-Bold-Subset.woff2 and b/nuxt-frontend/assets/fonts/Inter-Bold-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Inter-ExtraLight-Subset.woff2 b/nuxt-frontend/assets/fonts/Inter-ExtraLight-Subset.woff2 new file mode 100644 index 000000000..9134df6c9 Binary files /dev/null and b/nuxt-frontend/assets/fonts/Inter-ExtraLight-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Inter-Light-Subset.woff2 b/nuxt-frontend/assets/fonts/Inter-Light-Subset.woff2 index d9b1b50d8..559b48c76 100644 Binary files a/nuxt-frontend/assets/fonts/Inter-Light-Subset.woff2 and b/nuxt-frontend/assets/fonts/Inter-Light-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Inter-Medium-Subset.woff2 b/nuxt-frontend/assets/fonts/Inter-Medium-Subset.woff2 index 655372c00..759d9a4f1 100644 Binary files a/nuxt-frontend/assets/fonts/Inter-Medium-Subset.woff2 and b/nuxt-frontend/assets/fonts/Inter-Medium-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Inter-Regular-Subset.woff2 b/nuxt-frontend/assets/fonts/Inter-Regular-Subset.woff2 index 76656ad2c..82d1777f9 100644 Binary files a/nuxt-frontend/assets/fonts/Inter-Regular-Subset.woff2 and b/nuxt-frontend/assets/fonts/Inter-Regular-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Inter-SemiBold-Subset.woff2 b/nuxt-frontend/assets/fonts/Inter-SemiBold-Subset.woff2 index b5f7a481d..e0f7bac45 100644 Binary files a/nuxt-frontend/assets/fonts/Inter-SemiBold-Subset.woff2 and b/nuxt-frontend/assets/fonts/Inter-SemiBold-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Open-Sans-Bold.woff2 b/nuxt-frontend/assets/fonts/Open-Sans-Bold.woff2 deleted file mode 100644 index 0e902e318..000000000 Binary files a/nuxt-frontend/assets/fonts/Open-Sans-Bold.woff2 and /dev/null differ diff --git a/nuxt-frontend/assets/fonts/Open-Sans-SemiBold.woff2 b/nuxt-frontend/assets/fonts/Open-Sans-SemiBold.woff2 deleted file mode 100644 index 3f4251875..000000000 Binary files a/nuxt-frontend/assets/fonts/Open-Sans-SemiBold.woff2 and /dev/null differ diff --git a/nuxt-frontend/assets/fonts/OpenSans-Bold-Subset.woff2 b/nuxt-frontend/assets/fonts/OpenSans-Bold-Subset.woff2 new file mode 100644 index 000000000..b09305061 Binary files /dev/null and b/nuxt-frontend/assets/fonts/OpenSans-Bold-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/OpenSans-SemiBold-Subset.woff2 b/nuxt-frontend/assets/fonts/OpenSans-SemiBold-Subset.woff2 new file mode 100644 index 000000000..dae34eb07 Binary files /dev/null and b/nuxt-frontend/assets/fonts/OpenSans-SemiBold-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Poppins-Medium-Subset.woff2 b/nuxt-frontend/assets/fonts/Poppins-Medium-Subset.woff2 new file mode 100644 index 000000000..75493c871 Binary files /dev/null and b/nuxt-frontend/assets/fonts/Poppins-Medium-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Poppins-Regular-Subset.woff2 b/nuxt-frontend/assets/fonts/Poppins-Regular-Subset.woff2 new file mode 100644 index 000000000..61d295ace Binary files /dev/null and b/nuxt-frontend/assets/fonts/Poppins-Regular-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/ProductSans-Regular-Subset.woff2 b/nuxt-frontend/assets/fonts/ProductSans-Regular-Subset.woff2 index da2cdaf16..8a55b0413 100644 Binary files a/nuxt-frontend/assets/fonts/ProductSans-Regular-Subset.woff2 and b/nuxt-frontend/assets/fonts/ProductSans-Regular-Subset.woff2 differ diff --git a/nuxt-frontend/assets/fonts/Roboto-Bold-Subset.woff2 b/nuxt-frontend/assets/fonts/Roboto-Bold-Subset.woff2 deleted file mode 100644 index 5fcab7d3f..000000000 Binary files a/nuxt-frontend/assets/fonts/Roboto-Bold-Subset.woff2 and /dev/null differ diff --git a/nuxt-frontend/assets/fonts/Roboto-Medium-Subset.woff2 b/nuxt-frontend/assets/fonts/Roboto-Medium-Subset.woff2 deleted file mode 100644 index ac93f5185..000000000 Binary files a/nuxt-frontend/assets/fonts/Roboto-Medium-Subset.woff2 and /dev/null differ diff --git a/nuxt-frontend/assets/fonts/Source-codePro.woff2 b/nuxt-frontend/assets/fonts/Source-codePro.woff2 new file mode 100644 index 000000000..356d73705 Binary files /dev/null and b/nuxt-frontend/assets/fonts/Source-codePro.woff2 differ diff --git a/nuxt-frontend/assets/images/CTA/bg/1200.svg b/nuxt-frontend/assets/images/CTA/bg/1200.svg deleted file mode 100644 index fc36a1a92..000000000 --- a/nuxt-frontend/assets/images/CTA/bg/1200.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/nuxt-frontend/assets/images/CTA/bg/1200.webp b/nuxt-frontend/assets/images/CTA/bg/1200.webp new file mode 100644 index 000000000..f157b162a Binary files /dev/null and b/nuxt-frontend/assets/images/CTA/bg/1200.webp differ diff --git a/nuxt-frontend/assets/images/CTA/bg/2400.svg b/nuxt-frontend/assets/images/CTA/bg/2400.svg deleted file mode 100644 index 6d12e2135..000000000 --- a/nuxt-frontend/assets/images/CTA/bg/2400.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/nuxt-frontend/assets/images/CTA/bg/2400.webp b/nuxt-frontend/assets/images/CTA/bg/2400.webp new file mode 100644 index 000000000..39da68380 Binary files /dev/null and b/nuxt-frontend/assets/images/CTA/bg/2400.webp differ diff --git a/nuxt-frontend/assets/images/CTA/bg/400.svg b/nuxt-frontend/assets/images/CTA/bg/400.svg deleted file mode 100644 index 1d665b76b..000000000 --- a/nuxt-frontend/assets/images/CTA/bg/400.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/nuxt-frontend/assets/images/CTA/bg/400.webp b/nuxt-frontend/assets/images/CTA/bg/400.webp new file mode 100644 index 000000000..1c84d7980 Binary files /dev/null and b/nuxt-frontend/assets/images/CTA/bg/400.webp differ diff --git a/nuxt-frontend/assets/images/CTA/bg/800.svg b/nuxt-frontend/assets/images/CTA/bg/800.svg deleted file mode 100644 index e788ac319..000000000 --- a/nuxt-frontend/assets/images/CTA/bg/800.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/nuxt-frontend/assets/images/CTA/bg/800.webp b/nuxt-frontend/assets/images/CTA/bg/800.webp new file mode 100644 index 000000000..4418cbfe2 Binary files /dev/null and b/nuxt-frontend/assets/images/CTA/bg/800.webp differ diff --git a/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.mp4 b/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.mp4 index eabf5605b..25681b709 100644 Binary files a/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.mp4 and b/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.mp4 differ diff --git a/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.webm b/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.webm index 536c02f04..0a89b65e5 100644 Binary files a/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.webm and b/nuxt-frontend/assets/images/contribution/animations/JetpackComposeAnimations.webm differ diff --git a/nuxt-frontend/assets/images/contribution/animations/UIPilot.mp4 b/nuxt-frontend/assets/images/contribution/animations/UIPilot.mp4 index 909395643..16743148d 100644 Binary files a/nuxt-frontend/assets/images/contribution/animations/UIPilot.mp4 and b/nuxt-frontend/assets/images/contribution/animations/UIPilot.mp4 differ diff --git a/nuxt-frontend/assets/images/contribution/animations/UIPilot.webm b/nuxt-frontend/assets/images/contribution/animations/UIPilot.webm index cc78b0988..7cffc2ac3 100644 Binary files a/nuxt-frontend/assets/images/contribution/animations/UIPilot.webm and b/nuxt-frontend/assets/images/contribution/animations/UIPilot.webm differ diff --git a/nuxt-frontend/assets/images/contribution/animations/introShowCase.mp4 b/nuxt-frontend/assets/images/contribution/animations/introShowCase.mp4 index a8f5ed21d..39f7cfd52 100644 Binary files a/nuxt-frontend/assets/images/contribution/animations/introShowCase.mp4 and b/nuxt-frontend/assets/images/contribution/animations/introShowCase.mp4 differ diff --git a/nuxt-frontend/assets/images/contribution/animations/introShowCase.webm b/nuxt-frontend/assets/images/contribution/animations/introShowCase.webm index 139f2e851..2bbf03ed2 100644 Binary files a/nuxt-frontend/assets/images/contribution/animations/introShowCase.webm and b/nuxt-frontend/assets/images/contribution/animations/introShowCase.webm differ diff --git a/nuxt-frontend/assets/images/contributions/favourites/like-100w.webp b/nuxt-frontend/assets/images/contributions/favourites/like-100w.webp index 362ac05d9..4a641482d 100644 Binary files a/nuxt-frontend/assets/images/contributions/favourites/like-100w.webp and b/nuxt-frontend/assets/images/contributions/favourites/like-100w.webp differ diff --git a/nuxt-frontend/assets/images/jobsthankyou/desktop1.webp b/nuxt-frontend/assets/images/jobsthankyou/desktop1.webp index 6beb7a1ab..d1a483aec 100644 Binary files a/nuxt-frontend/assets/images/jobsthankyou/desktop1.webp and b/nuxt-frontend/assets/images/jobsthankyou/desktop1.webp differ diff --git a/nuxt-frontend/assets/images/jobsthankyou/desktop2.webp b/nuxt-frontend/assets/images/jobsthankyou/desktop2.webp index 745c52d32..637f23e54 100644 Binary files a/nuxt-frontend/assets/images/jobsthankyou/desktop2.webp and b/nuxt-frontend/assets/images/jobsthankyou/desktop2.webp differ diff --git a/nuxt-frontend/assets/images/jobsthankyou/desktop3.webp b/nuxt-frontend/assets/images/jobsthankyou/desktop3.webp index 0254f0815..ff973182b 100644 Binary files a/nuxt-frontend/assets/images/jobsthankyou/desktop3.webp and b/nuxt-frontend/assets/images/jobsthankyou/desktop3.webp differ diff --git a/nuxt-frontend/assets/images/jobsthankyou/mobile1.webp b/nuxt-frontend/assets/images/jobsthankyou/mobile1.webp index 1c90892c6..278662ad2 100644 Binary files a/nuxt-frontend/assets/images/jobsthankyou/mobile1.webp and b/nuxt-frontend/assets/images/jobsthankyou/mobile1.webp differ diff --git a/nuxt-frontend/assets/images/jobsthankyou/mobile2.webp b/nuxt-frontend/assets/images/jobsthankyou/mobile2.webp index eff3503bb..8469e6425 100644 Binary files a/nuxt-frontend/assets/images/jobsthankyou/mobile2.webp and b/nuxt-frontend/assets/images/jobsthankyou/mobile2.webp differ diff --git a/nuxt-frontend/assets/images/jobsthankyou/mobile3.webp b/nuxt-frontend/assets/images/jobsthankyou/mobile3.webp index 531590949..583595fd6 100644 Binary files a/nuxt-frontend/assets/images/jobsthankyou/mobile3.webp and b/nuxt-frontend/assets/images/jobsthankyou/mobile3.webp differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/client-review/quote.webp b/nuxt-frontend/assets/images/mobile-app-development/client-review/quote.webp index 3e61e94dc..27702c377 100644 Binary files a/nuxt-frontend/assets/images/mobile-app-development/client-review/quote.webp and b/nuxt-frontend/assets/images/mobile-app-development/client-review/quote.webp differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-1.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-1.gif new file mode 100644 index 000000000..d7df3e8c6 Binary files /dev/null and b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-1.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-2.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-2.gif new file mode 100644 index 000000000..6916d088e Binary files /dev/null and b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-2.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-3.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-3.gif new file mode 100644 index 000000000..126cd7050 Binary files /dev/null and b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-3.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-4.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-4.gif new file mode 100644 index 000000000..61502f524 Binary files /dev/null and b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-4.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-5.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-5.gif new file mode 100644 index 000000000..78d559140 Binary files /dev/null and b/nuxt-frontend/assets/images/mobile-app-development/development-process/desktop/process-5.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-1.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-1.gif index 1088d6305..c5b75faa7 100644 Binary files a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-1.gif and b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-1.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-2.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-2.gif index 131eb1f1c..c9e66a96f 100644 Binary files a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-2.gif and b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-2.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-3.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-3.gif index 8e4cb7f37..b21389cf3 100644 Binary files a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-3.gif and b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-3.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-4.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-4.gif index c45c053b7..84d1afdfa 100644 Binary files a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-4.gif and b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-4.gif differ diff --git a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-5.gif b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-5.gif index 7fe455c0a..af184c3ce 100644 Binary files a/nuxt-frontend/assets/images/mobile-app-development/development-process/process-5.gif and b/nuxt-frontend/assets/images/mobile-app-development/development-process/process-5.gif differ diff --git a/nuxt-frontend/assets/images/portfolio/background-400w.webp b/nuxt-frontend/assets/images/portfolio/background-400w.webp new file mode 100644 index 000000000..a2110e3e5 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/background-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/background-800w.webp b/nuxt-frontend/assets/images/portfolio/background-800w.webp new file mode 100644 index 000000000..963e0468a Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/background-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/background-1400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/background-1400w.webp index 919c57a78..4c714635e 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/background-1400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/background-1400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/background-2400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/background-2400w.webp index 31e0f9447..ac2d65440 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/background-2400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/background-2400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/background-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/background-400w.webp index 1d144850b..6fc7f0e6a 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/background-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/background-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/background-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/background-800w.webp index 7cd6543c9..389513854 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/background-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/background-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-1200w.webp index cebe8c1ae..1fabc5f8c 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-1200w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-400w.webp index c658d0d76..c8f589547 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-800w.webp index 7a78142b4..88aea64ea 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_1-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-1200w.webp index 07c5e8323..6f45cee0b 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-1200w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-400w.webp index 5af5314b7..47d2dd83e 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-800w.webp index 5af1c6ff3..9bb83aa20 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_2-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-1200w.webp index 630053678..1cbb5a9b8 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-1200w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-400w.webp index 950777f08..e6f20384f 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-800w.webp index e07001f30..f3176a2ac 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_3-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-1200w.webp index a3dd20e1a..ff2c9aa19 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-1200w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-400w.webp index f9b25628c..27caf4306 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-800w.webp index d30bc1c41..4c3ac944d 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/branding/justly_branding_4-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature1-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature1-1200w.webp new file mode 100644 index 000000000..d0071bf6d Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature1-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature1-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature1-400w.webp new file mode 100644 index 000000000..4585ca3b5 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature1-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature1-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature1-800w.webp new file mode 100644 index 000000000..e767ede11 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature1-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature2-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature2-1200w.webp new file mode 100644 index 000000000..493e58340 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature2-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature2-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature2-400w.webp new file mode 100644 index 000000000..81dfaa11a Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature2-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature2-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature2-800w.webp new file mode 100644 index 000000000..bcbc354e9 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature2-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature3-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature3-1200w.webp new file mode 100644 index 000000000..acb9264b7 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature3-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature3-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature3-400w.webp new file mode 100644 index 000000000..087d8cd76 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature3-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature3-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature3-800w.webp new file mode 100644 index 000000000..a25bc2d59 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature3-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature4-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature4-1200w.webp new file mode 100644 index 000000000..384aee0dc Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature4-1200w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature4-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature4-400w.webp new file mode 100644 index 000000000..86a85903b Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature4-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/feature4-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/feature4-800w.webp new file mode 100644 index 000000000..6dba4a696 Binary files /dev/null and b/nuxt-frontend/assets/images/portfolio/justly/features/feature4-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-1200w.webp deleted file mode 100644 index 8121339ad..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-1200w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-400w.webp deleted file mode 100644 index c1276bfff..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-400w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-800w.webp deleted file mode 100644 index c0b33a252..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-goal-800w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-1200w.webp deleted file mode 100644 index 37a8926ee..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-1200w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-400w.webp deleted file mode 100644 index 41d19b951..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-400w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-800w.webp deleted file mode 100644 index dad1fb4cd..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-logo-800w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-1200w.webp deleted file mode 100644 index d272e0f78..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-1200w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-400w.webp deleted file mode 100644 index e507ab505..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-400w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-800w.webp deleted file mode 100644 index 3328b43de..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-notes-800w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-1200w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-1200w.webp deleted file mode 100644 index 3bd7d7b3c..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-1200w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-400w.webp deleted file mode 100644 index 9c6c2a35d..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-400w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-800w.webp deleted file mode 100644 index 66a062210..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/justly/features/justly-rank-800w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/footer/background-1400w.webp b/nuxt-frontend/assets/images/portfolio/justly/footer/background-1400w.webp index bf61959f7..4421f900c 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/footer/background-1400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/footer/background-1400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/footer/background-2400w.webp b/nuxt-frontend/assets/images/portfolio/justly/footer/background-2400w.webp index 61607b3c0..2073e3251 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/footer/background-2400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/footer/background-2400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/footer/background-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/footer/background-400w.webp index 88f9f85ea..b0812a823 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/footer/background-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/footer/background-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/footer/background-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/footer/background-800w.webp index 94933e961..b19243c61 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/footer/background-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/footer/background-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/landing/background-1400w.webp b/nuxt-frontend/assets/images/portfolio/justly/landing/background-1400w.webp index c2f488679..ed131a3a7 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/landing/background-1400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/landing/background-1400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/landing/background-2400w.webp b/nuxt-frontend/assets/images/portfolio/justly/landing/background-2400w.webp index 783c3d88a..ebf0b877e 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/landing/background-2400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/landing/background-2400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/landing/background-400w.webp b/nuxt-frontend/assets/images/portfolio/justly/landing/background-400w.webp index fef5fe195..5449f1e63 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/landing/background-400w.webp and b/nuxt-frontend/assets/images/portfolio/justly/landing/background-400w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/justly/landing/background-800w.webp b/nuxt-frontend/assets/images/portfolio/justly/landing/background-800w.webp index c7e6904c3..624eb1599 100644 Binary files a/nuxt-frontend/assets/images/portfolio/justly/landing/background-800w.webp and b/nuxt-frontend/assets/images/portfolio/justly/landing/background-800w.webp differ diff --git a/nuxt-frontend/assets/images/portfolio/new-portfolio/new-cta-1600w.webp b/nuxt-frontend/assets/images/portfolio/new-portfolio/new-cta-1600w.webp deleted file mode 100644 index db6e83f0a..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/new-portfolio/new-cta-1600w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/new-portfolio/new-cta-2400w.webp b/nuxt-frontend/assets/images/portfolio/new-portfolio/new-cta-2400w.webp deleted file mode 100644 index 0e58246ec..000000000 Binary files a/nuxt-frontend/assets/images/portfolio/new-portfolio/new-cta-2400w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.mp4 b/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.mp4 index 1e706a329..ca95ef8b1 100644 Binary files a/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.mp4 and b/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.mp4 differ diff --git a/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.webm b/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.webm index 5a93d9821..ddd00dad3 100644 Binary files a/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.webm and b/nuxt-frontend/assets/images/portfolio/new-portfolio/smile.webm differ diff --git a/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.mp4 b/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.mp4 index eee96be0e..fa3674424 100644 Binary files a/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.mp4 and b/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.mp4 differ diff --git a/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.webm b/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.webm index 841afcfaf..88e2168e1 100644 Binary files a/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.webm and b/nuxt-frontend/assets/images/portfolio/new-portfolio/togness.webm differ diff --git a/nuxt-frontend/assets/images/services/landing/landing-1200w.webp b/nuxt-frontend/assets/images/services/landing/landing-1200w.webp deleted file mode 100644 index 72c4e8f2a..000000000 Binary files a/nuxt-frontend/assets/images/services/landing/landing-1200w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/services/landing/landing-1400w.webp b/nuxt-frontend/assets/images/services/landing/landing-1400w.webp deleted file mode 100644 index 37c380a36..000000000 Binary files a/nuxt-frontend/assets/images/services/landing/landing-1400w.webp and /dev/null differ diff --git a/nuxt-frontend/assets/images/services/service/androidapp-400w.webp b/nuxt-frontend/assets/images/services/service/androidapp-400w.webp index b1a9d747d..ec1b2e8b6 100644 Binary files a/nuxt-frontend/assets/images/services/service/androidapp-400w.webp and b/nuxt-frontend/assets/images/services/service/androidapp-400w.webp differ diff --git a/nuxt-frontend/assets/images/services/service/androidapp-800w.webp b/nuxt-frontend/assets/images/services/service/androidapp-800w.webp index f511f85f3..1d46ce4cc 100644 Binary files a/nuxt-frontend/assets/images/services/service/androidapp-800w.webp and b/nuxt-frontend/assets/images/services/service/androidapp-800w.webp differ diff --git a/nuxt-frontend/assets/images/services/service/iosapp-400w.webp b/nuxt-frontend/assets/images/services/service/iosapp-400w.webp index 40d5b591a..9d2e0a1c7 100644 Binary files a/nuxt-frontend/assets/images/services/service/iosapp-400w.webp and b/nuxt-frontend/assets/images/services/service/iosapp-400w.webp differ diff --git a/nuxt-frontend/assets/images/services/service/iosapp-800w.webp b/nuxt-frontend/assets/images/services/service/iosapp-800w.webp index 3eeceb7b6..1233a40ac 100644 Binary files a/nuxt-frontend/assets/images/services/service/iosapp-800w.webp and b/nuxt-frontend/assets/images/services/service/iosapp-800w.webp differ diff --git a/nuxt-frontend/assets/images/services/service/uiuxdesign-400w.webp b/nuxt-frontend/assets/images/services/service/uiuxdesign-400w.webp index 300b4ac2c..53983e1ee 100644 Binary files a/nuxt-frontend/assets/images/services/service/uiuxdesign-400w.webp and b/nuxt-frontend/assets/images/services/service/uiuxdesign-400w.webp differ diff --git a/nuxt-frontend/assets/images/services/service/uiuxdesign-800w.webp b/nuxt-frontend/assets/images/services/service/uiuxdesign-800w.webp index be0e3ea98..7f24006aa 100644 Binary files a/nuxt-frontend/assets/images/services/service/uiuxdesign-800w.webp and b/nuxt-frontend/assets/images/services/service/uiuxdesign-800w.webp differ diff --git a/nuxt-frontend/components/Blog.vue b/nuxt-frontend/components/Blog.vue new file mode 100644 index 000000000..c5d542a63 --- /dev/null +++ b/nuxt-frontend/components/Blog.vue @@ -0,0 +1,107 @@ + + + diff --git a/nuxt-frontend/components/about/HowItAllStartedSectionMobile.vue b/nuxt-frontend/components/about/HowItAllStartedSectionMobile.vue index d021fcba4..9f69ed030 100755 --- a/nuxt-frontend/components/about/HowItAllStartedSectionMobile.vue +++ b/nuxt-frontend/components/about/HowItAllStartedSectionMobile.vue @@ -10,7 +10,7 @@
-

+

{{ event.year }}

- With canopas, you will have + With canopas, you will have everything you need under one roof.
@@ -33,7 +33,7 @@ :class="phase.className" >
{{ phase.title }}
@@ -68,7 +68,7 @@ :class="phase.className" >
{{ phase.title }}
diff --git a/nuxt-frontend/components/android-app-development/CaseStudySection.vue b/nuxt-frontend/components/android-app-development/CaseStudySection.vue index ca5223aba..de9cca736 100644 --- a/nuxt-frontend/components/android-app-development/CaseStudySection.vue +++ b/nuxt-frontend/components/android-app-development/CaseStudySection.vue @@ -20,7 +20,7 @@ class="mt-6 relative lg:hidden" :class="item.className" > -
- +
-
- + >

- + />
diff --git a/nuxt-frontend/components/contact/NewContactLanding.vue b/nuxt-frontend/components/contact/NewContactLanding.vue index 15878bb5c..37602dedf 100644 --- a/nuxt-frontend/components/contact/NewContactLanding.vue +++ b/nuxt-frontend/components/contact/NewContactLanding.vue @@ -1,7 +1,7 @@