+
+
{data.title}
-
+
+
+
{data.landing_page && (
-
Ver más
+
Ver más
)}
diff --git a/src/components/expandGrid/expandGrid.scss b/src/components/expandGrid/expandGrid.scss
index 5a31bae3..6011d3be 100644
--- a/src/components/expandGrid/expandGrid.scss
+++ b/src/components/expandGrid/expandGrid.scss
@@ -44,7 +44,7 @@
cursor: pointer;
@media screen and (max-width: $breakpoint-xxl) {
- flex: 0 1 calc(calc(100% / 2) - 10px);
+ flex: 0 1 calc(calc(100% / 3) - 10px);
}
@media screen and (max-width: 890px) {
@@ -54,10 +54,6 @@
&-expanded {
@extend .listItem;
flex-basis: 100%;
-
- @media screen and (max-width: 890px) {
- height: 800px;
- }
}
}
@@ -66,7 +62,7 @@
flex-direction: row;
height: 100%;
position: relative;
- @media screen and (max-width: 890px) {
+ @media screen and (max-width: $breakpoint-xl) {
flex-direction: column;
align-items: unset;
}
@@ -85,13 +81,21 @@
&-expanded {
@extend .avatar;
+ box-shadow: 0px 4px 4px 0px #00000040;
+
flex-grow: 0;
margin-right: 0;
min-width: 33%;
max-width: 33%;
- @media screen and (max-width: 1500px) {
- min-width: 50%;
- max-width: 50%;
+ @media screen and (max-width: $breakpoint-xl) {
+ min-width: 100%;
+ max-width: 100%;
+ height: 400px;
+ object-fit: cover;
+ }
+ @media screen and (max-width: $breakpoint-md) {
+ height: unset;
+ object-fit: unset;
}
}
}
@@ -107,6 +111,7 @@
}
.additional-content {
+ box-shadow: 0px 4px 4px 0px #00000040;
width: 100%;
overflow: hidden;
@media screen and (max-width: 890px) {
@@ -114,7 +119,8 @@
}
}
-.listItem-more{
+
+.listItem-more {
position: absolute;
inset: 0 0 20px 20px;
display: flex;
@@ -123,14 +129,17 @@
transition: opacity 200ms ease;
opacity: 1;
color: black;
- p{
+ width: 300px;
+ p {
padding: 0;
margin: 0;
}
- &-expanded{
+ &-expanded {
@extend .listItem-more;
- opacity: 0;
padding: 0 !important;
+ @media screen and (max-width: $breakpoint-xl) {
+ display: none;
+ }
}
}
@@ -139,18 +148,16 @@
border-radius: 3px;
display: flex;
flex-direction: column;
- height: 100%;
- p {
- max-height: 10vw;
+ &-markdown{
+ height: 80%;
overflow: hidden;
- text-overflow: ellipsis;
}
- a{
+ a {
font-weight: 600;
color: $secondary;
text-decoration: underline;
margin: auto 0 10px 10px;
- }
+ }
h4 {
text-align: left;
}
diff --git a/src/components/index.js b/src/components/index.js
index 203eeac6..7723068c 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -1,14 +1,20 @@
import Cards from "./Cards/Cards"
import Seo from "./Seo/Seo"
-import BannerBgImage from "./Banners/BannerBgImage"
-import BannerLogo from "./Banners/BannerLogo"
-import BannerISO from "./Banners/BannerISO"
-import BannerClientes from "./Banners/BannerClientes"
-import BannerTop from "./Banners/BannerTop"
-import BannerHead from "./BannerHead/BannerHead"
import CasesSection from "./CasesSection/CasesSection"
import CasesList from "./CasesSection/CasesList"
import LogosSection from "./LogosSection/logosSection"
+import Form from "./Form/Form"
+import Banner from "./Banner/Banner"
+import BannerList from "./BannerList/BannerList"
+import ExpandGrid from "./expandGrid/ExpandGrid"
+import Catsone from "./Catsone/catsone"
+import Text from "./Text/Text"
+import Quote from "./quote/Quote"
+import OneSection from "./DualSection/OneSection"
+import DualSection from "./DualSection/DualSection"
+import AnimatedTransitionContinous from "./animatedTransitionContinous/AnimatedTransitionContinous"
+import BannerTop from "./Banners/BannerTop"
+import BannerHead from "./BannerHead/BannerHead";
export {
@@ -16,11 +22,17 @@ export {
CasesList,
CasesSection,
Seo,
- BannerBgImage,
- BannerLogo,
- BannerISO,
- BannerClientes,
- BannerTop,
- BannerHead,
LogosSection,
+ Form,
+ Banner,
+ BannerList,
+ ExpandGrid,
+ Catsone,
+ Text,
+ Quote,
+ OneSection,
+ DualSection,
+ AnimatedTransitionContinous,
+ BannerTop,
+ BannerHead
}
diff --git a/src/components/videoBackground/VideoBackground.js b/src/components/videoBackground/VideoBackground.js
index 010f9190..39f6b500 100644
--- a/src/components/videoBackground/VideoBackground.js
+++ b/src/components/videoBackground/VideoBackground.js
@@ -1,7 +1,7 @@
import React, { useEffect, useRef, useState } from "react"
import "./videoBackground.scss"
const VideoBackground = ({
- data: { video, description, button, strapi_component, id },
+ data: { video, description, button, strapi_component, id, backgroundImage },
}) => {
const [isVideoPause, setIsVideoPause] = useState(false)
const videoRef = useRef(null)
@@ -33,27 +33,34 @@ const VideoBackground = ({
return (
)
}
diff --git a/src/components/videoBackground/videoBackground.scss b/src/components/videoBackground/videoBackground.scss
index 2d51613f..f5e54a22 100644
--- a/src/components/videoBackground/videoBackground.scss
+++ b/src/components/videoBackground/videoBackground.scss
@@ -1,57 +1,107 @@
@import "../../styles/global.scss";
.videoBackground {
- // width: calc(100% - 6em);
- height: 80vh;
- position: relative;
- z-index: 3;
- display: flex;
- // margin: 3em;
+ &-container {
+ margin-top: 50px;
+ margin-bottom: 50px;
+ }
video {
- top: 0;
- position: absolute;
width: 100%;
- height: 100%;
+ height: 250px;
object-fit: cover;
- z-index: -1;
- cursor: pointer;
- // border-radius: 20px;
+ display: block;
+ border-radius: 5px;
}
&-card {
- z-index: 4;
- align-self: flex-end;
- flex-basis: 1;
- max-width: 600px;
+ width: 100%;
backdrop-filter: blur(14px);
color: white;
border-radius: 5px;
background: #e8e8e8c5;
box-shadow: 0px 0px 3px #00000044;
- margin: 1em;
- padding: 2em;
-
- h4 {
- color: $grey;
- display: -webkit-box;
- -webkit-line-clamp: 3;
- -webkit-box-orient: vertical;
- overflow: hidden;
+ word-wrap: break-all;
+ padding: 15px;
+ }
+ h5 {
+ width: 100%;
+ color: $grey;
+
+ }
+ button {
+ @include secondaryBtn;
+ }
+}
+
+
+
+
+
+@media screen and (min-width: $breakpoint-md) {
+
+ .videoBackground {
+ // width: calc(100% - 6em);
+ height: 550px;
+ position: relative;
+ z-index: 3;
+ display: flex;
+ // margin: 3em;
+ &-container {
+ margin-top: 80px;
+ margin-bottom: 80px;
+ }
+ video {
+ top: 0;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ z-index: -1;
+ cursor: pointer;
+ // border-radius: 20px;
}
- button {
- background: $grey;
- border: 1px solid white;
+ &-card {
+ z-index: 4;
+ align-self: flex-end;
+ flex-basis: 1;
+ max-width: 700px;
+ backdrop-filter: blur(14px);
color: white;
- font-weight: 500;
- border-radius: 3px;
- padding: 0.6em 3em;
+ border-radius: 5px;
+ background: #e8e8e8c5;
+ box-shadow: 0px 0px 3px #00000044;
+ margin: 2em;
+ padding: 2em;
+
+ h5 {
+ color: $grey;
+ }
+ button {
+ @include secondaryBtn;
+ }
}
}
}
-@media screen and (min-width: $breakpoint-md) {
+
+@media screen and (min-width: $breakpoint-lg) {
+
.videoBackground {
- video {
- border-radius: 20px;
+ height: 80vh;
+ &-container {
+ margin-top: 130px;
+ margin-bottom: 80px;
}
}
}
+
+// @media screen and (max-width: $breakpoint-md) {
+// .videoBackground {
+// height: 500px;
+// video {
+// height: 80%;
+// }
+// &-card {
+// height: 20%;
+// }
+// }
+// }
diff --git a/src/context/themeContext.js b/src/context/themeContext.js
index 55fee4e7..5ecc8f3c 100644
--- a/src/context/themeContext.js
+++ b/src/context/themeContext.js
@@ -8,13 +8,14 @@ const themes = {
"--primary": "#000000",
"--primary-invert": "#ffffff",
"--primary-hover": "#000000",
- "--primary-container": "#ffffff",
+ "--primary-container": "#faf8f8",
"--title-jobs": "#5682c6",
"--jobs-hover": "#f0f0f0",
"--secondary": "#3f6be8",
"--secondary-container": "#25cad3",
"--border-bottom": "#cdcdcd",
+ "--bg-form": "#DBDBDD",
},
dark: {
"--nav-footer-container": "#383838",
@@ -30,6 +31,8 @@ const themes = {
"--secondary": "#67f293",
"--secondary-container": "#191919",
+ "--bg-form": "#FAF8F8",
+
},
}
diff --git a/src/styles/global.scss b/src/styles/global.scss
index 8bdd0d18..ae5e2e52 100644
--- a/src/styles/global.scss
+++ b/src/styles/global.scss
@@ -1,7 +1,7 @@
/* Fonts */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
-$primary-font: "Poppins", sans-serif;
+$primary-font: "Plain", sans-serif;
$secondary-font: "Roboto", sans-serif;
$medium: 20px;
@@ -18,8 +18,7 @@ $secondary-container: var(--secondary-container);
$border-bottom: var(--border-bottom);
$title-jobs: var(--title-jobs);
$jobs-hover: var(--jobs-hover);
-
-
+$bg-form: var(--bg-form);
main {
background-color: $primary-container !important;
@@ -82,6 +81,27 @@ $extra-large: 45px;
}
}
+@mixin secondaryBtn {
+ padding: 5px 15px;
+ font-weight: 500;
+ border: 1px solid $grey;
+ background-color: transparent;
+ color: $grey;
+ border-radius: 5px;
+ transition: filter 200ms ease-in;
+ &:hover {
+ color: white;
+ background-color: #7D7D92;
+ border: 1px solid #7D7D92;
+ }
+ &:active {
+ background-color: $grey;
+ }
+ @media screen and (min-width: $breakpoint-lg) {
+ padding: 8px 30px;
+ }
+}
+
// new sizes
$breakpoint-sm: 576px;
$breakpoint-md: 768px;
@@ -97,6 +117,10 @@ body {
font-size: 16px;
font-family: $secondary-font;
}
+ strong {
+ font-size: 16px;
+ font-family: $secondary-font;
+ }
font-size: 16px;
font-family: $secondary-font;
}
@@ -109,27 +133,27 @@ body {
font-family: $primary-font;
}
h1 {
- font-size: 40px;
+ font-size: 36px;
font-family: $primary-font;
}
h2 {
- font-size: 36px;
+ font-size: 32px;
font-family: $primary-font;
}
h3 {
span {
- font-size: 32px;
+ font-size: 28px;
font-family: $primary-font;
}
- font-size: 32px;
+ font-size: 28px;
font-family: $primary-font;
}
h4 {
- font-size: 28px;
+ font-size: 24px;
font-family: $primary-font;
}
h5 {
- font-size: 24px;
+ font-size: 20px;
font-family: $primary-font;
}
h6 {
@@ -137,7 +161,7 @@ body {
font-family: $primary-font;
}
small {
- font-size: 16px;
+ font-size: 14px;
}
}
@@ -148,37 +172,40 @@ body {
em {
font-size: 20px;
}
+ strong {
+ font-size: 20px;
+ }
font-size: 20px;
}
h1 {
- font-size: 69px;
+ font-size: 60px;
}
h2 {
- font-size: 53px;
+ font-size: 56px;
}
h3 {
span {
- font-size: 39px;
+ font-size: 48px;
}
- font-size: 39px;
+ font-size: 48px;
}
h4 {
- font-size: 31px;
+ font-size: 36px;
}
h5 {
- font-size: 25px;
+ font-size: 32px;
}
h6 {
- font-size: 20px;
+ font-size: 24px;
}
small {
- font-size: 16px;
+ font-size: 18px;
}
button {
- font-size: 16px;
+ font-size: 18px;
}
input {
- font-size: 16px;
+ font-size: 18px;
}
}
}
diff --git a/src/templates/LandingPage.js b/src/templates/LandingPage.js
index bd4482f1..0d1ba6de 100644
--- a/src/templates/LandingPage.js
+++ b/src/templates/LandingPage.js
@@ -1,75 +1,121 @@
import React from "react"
import { graphql } from "gatsby"
import Layout from "../components/layout"
-import { Seo, CasesSection, CasesList, LogosSection } from "../components/index.js"
// componentes del body
-import Hero from "../components/Hero/Hero"
-import BannerList from "../components/BannerList/BannerLis"
-import ExpandGrid from "../components/expandGrid/ExpandGrid"
-import Catsone from "../components/Catsone/catsone"
-import BannerHead from '../components/BannerHead/BannerHead';
-import Text from '../components/Text/Text';
+import {
+ Seo,
+ CasesSection,
+ CasesList,
+ LogosSection,
+ Banner,
+ Form,
+ BannerList,
+ ExpandGrid,
+ Catsone,
+ Text,
+ AnimatedTransitionContinous,
+ DualSection,
+ OneSection,
+ Quote
+} from "../components"
+
+import VideoBackground from "../components/videoBackground/VideoBackground"
+
const LandingPage = ({ data, location }) => {
const pageData = data?.allStrapiLandingPage?.nodes[0]
const content = pageData.body.map((component, idx) => {
+ const bannerList =
+ component.strapi_component === "components.banner-list" ? (
+
+ ) : null
- const hero = component.strapi_component === "home.hero" ?
-
:
- null
+ const expandGrid =
+ component.strapi_component === "components.selected-grid" ? (
+
+ ) : null
- const bannerList = component.strapi_component === "components.banner-list" ?
-
:
- null
+ const casesSection =
+ component.strapi_component === "components.cases-section" &&
+ !component.allCases ? (
+
+ ) : null
- const expandGrid = component.strapi_component === "components.selected-grid" ?
-
:
- null
+ const casesList =
+ component.strapi_component === "components.cases-section" &&
+ component.allCases ? (
+
+ ) : null
- const casesSection = (component.strapi_component === "components.cases-section" && !component.allCases) ?
-
:
- null
+ const catsone =
+ component.strapi_component === "scripts.catsone" ? (
+
+ ) : null
- const casesList = (component.strapi_component === "components.cases-section" && component.allCases) ?
-
:
- null
+ const text =
+ component.strapi_component === "components.text" ? (
+
+ ) : null
+ const logosSection =
+ component.strapi_component === "components.logos-section" ? (
+
+ ) : null
+ const form =
+ component.strapi_component === "components.form" ? (
+
+ ) : null
+ const banner =
+ component.strapi_component === "components.banner" ? (
+
+ ) : null
- const catsone = component.strapi_component === "scripts.catsone" ?
-
:
- null
+ const quote =
+ component.strapi_component === "home.quote" ? (
+
+ ) : null
- const bannerHead = component.strapi_component === "banners.banner-head" ?
-
:
- null
+ const dualSection =
+ component.strapi_component === "home.dual-section" &&
+ (component.dualSectionPart.length === 1 ? (
+
+ ) : (
+
+ ))
- const text = component.strapi_component === "components.text" ?
-
:
- null
- const logosSection = component.strapi_component === "components.logos-section" ?
-
:
- null
+ const animatedTransition =
+ component.strapi_component === "home.transition" ? (
+
+ ) : null
+
+ const videoBackground =
+ component.strapi_component === "home.video-background" ? (
+
+ ) : null
return (
<>
- {hero}
+ {banner}
{bannerList}
{expandGrid}
{casesSection}
{casesList}
{catsone}
- {bannerHead}
{text}
{logosSection}
+ {form}
+ {videoBackground}
+ {quote}
+ {dualSection}
+ {animatedTransition}
>
)
-
})
return (
-
+
{content}