diff --git a/src/components/Button/Buttom.tsx b/src/components/Button/Buttom.tsx
new file mode 100644
index 0000000..9fcdb9e
--- /dev/null
+++ b/src/components/Button/Buttom.tsx
@@ -0,0 +1,19 @@
+import React from "react";
+
+interface Btn {
+ text: string;
+ type: "button" | "submit" | "reset";
+ className: string;
+}
+
+const Button = ( props: Btn ) => {
+ const { text, type, className } = props;
+
+ return (
+
+ );
+};
+
+export { Button };
diff --git a/src/components/FooterBottom/FooterBottom.module.scss b/src/components/FooterBottom/FooterBottom.module.scss
new file mode 100644
index 0000000..adc8389
--- /dev/null
+++ b/src/components/FooterBottom/FooterBottom.module.scss
@@ -0,0 +1,149 @@
+@use '../../variables';
+
+.footer-bottom {
+ background-color: variables.$black;
+ height: 100%;
+
+ &__wrapper {
+ display: flex;
+ padding: 15px 100px;
+ justify-content: space-between;
+ align-items: center;
+
+ @media (max-width: 1024px) {
+ display: grid;
+ grid-template-columns: 100%;
+ padding: 15px 16px;
+ gap: 15px;
+ }
+ }
+
+ &__address {
+ font-size: 10px;
+ line-height: 12px;
+ text-transform: capitalize;
+ color: variables.$white;
+
+ @media (min-width: 2500px) {
+ font-size: 20px;
+ line-height: 23px;
+ }
+
+ @media (max-width: 1024px) {
+ grid-area: 2;
+ }
+ }
+
+ &__payments-icons {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+
+ @media ((min-width: 1025px) and (max-width: 1100px)) {
+ gap: 6px;
+ }
+
+ @media (min-width: 370px) and (max-width: 425px) {
+ gap: 11px;
+ }
+
+ @media (max-width: 369px) {
+ flex-wrap: wrap;
+ }
+
+ .li-card {
+ display: flex;
+ }
+
+ .card {
+ width: auto;
+ height: 20px;
+
+ @media (min-width: 2500px) {
+ height: 39px;
+ }
+
+ @media (max-width: 420px) {
+ height: 17px;
+ }
+ }
+
+ .li-divider {
+ border: 1px solid variables.$gray-400;
+ height: 24px;
+
+ @media (max-width: 420px) {
+ height: 20px;
+ }
+ }
+
+ .li-vtexpci {
+ width: auto;
+ height: 34px;
+
+ @media (min-width: 2500px) {
+ height: 66px;
+ }
+
+ @media (max-width: 420px) {
+ height: 28px;
+ }
+ }
+ }
+
+ &__developedby {
+ display: flex;
+ align-items: center;
+ gap: 13px;
+
+ @media (min-width: 2500px) {
+ gap: 12px;
+ }
+
+ @media ((min-width: 1025px) and (max-width: 1150px)) {
+ gap: 7px;
+ }
+
+ &__li,
+ &__text {
+ display: flex;
+ align-items: center;
+ }
+
+ &__text {
+ font-size: 10px;
+ line-height: 12px;
+ text-transform: capitalize;
+ color: variables.$white;
+
+ @media (min-width: 2500px) {
+ font-size: 20px;
+ line-height: 23px;
+ }
+ }
+
+ &__logo-vtex {
+ width: 44px;
+
+ @media (min-width: 2500px) {
+ width: 84px;
+ }
+
+ &:hover {
+ filter: brightness(80%);
+ }
+ }
+
+ &__logo-m3 {
+ width: 28px;
+
+ @media (min-width: 2500px) {
+ width: 54px;
+ }
+
+ &:hover {
+ filter: brightness(80%);
+ }
+ }
+ }
+}
diff --git a/src/components/FooterBottom/FooterBottom.tsx b/src/components/FooterBottom/FooterBottom.tsx
new file mode 100644
index 0000000..a17402b
--- /dev/null
+++ b/src/components/FooterBottom/FooterBottom.tsx
@@ -0,0 +1,116 @@
+import React from "react";
+
+import styles from "./FooterBottom.module.scss";
+
+import imgLogoVtex from "./assets/vtex-logo.svg";
+import imgLogoM3 from "./assets/m3-logo.svg";
+import imgLogoMaster from "./assets/Master.png";
+import imgLogoVisa from "./assets/Visa.png";
+import imgLogoAmericanExpress from "./assets/AmericanExpress.png";
+import imgLogoElo from "./assets/Elo.png";
+import imgLogoHipercard from "./assets/Hiper.png";
+import imgLogoPayPal from "./assets/PayPal.png";
+import imgLogoBoleto from "./assets/Boleto.png";
+import imgLogoVtexPCI from "./assets/vtex-pci-200.png";
+
+import { IconList } from "../IconList/IconList";
+import { ItemList } from "../ItemList/ItemList";
+
+const FooterBottom = () => {
+ return (
+
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing
+
Elit, sed do eiusmod tempor
+
+
+
+
+
+
+
+
+ );
+};
+
+export { FooterBottom };
diff --git a/src/components/FooterBottom/assets/AmericanExpress.png b/src/components/FooterBottom/assets/AmericanExpress.png
new file mode 100644
index 0000000..41cd78c
Binary files /dev/null and b/src/components/FooterBottom/assets/AmericanExpress.png differ
diff --git a/src/components/FooterBottom/assets/Boleto.png b/src/components/FooterBottom/assets/Boleto.png
new file mode 100644
index 0000000..178bfef
Binary files /dev/null and b/src/components/FooterBottom/assets/Boleto.png differ
diff --git a/src/components/FooterBottom/assets/Elo.png b/src/components/FooterBottom/assets/Elo.png
new file mode 100644
index 0000000..284c6cb
Binary files /dev/null and b/src/components/FooterBottom/assets/Elo.png differ
diff --git a/src/components/FooterBottom/assets/Hiper.png b/src/components/FooterBottom/assets/Hiper.png
new file mode 100644
index 0000000..f4bb374
Binary files /dev/null and b/src/components/FooterBottom/assets/Hiper.png differ
diff --git a/src/components/FooterBottom/assets/Master.png b/src/components/FooterBottom/assets/Master.png
new file mode 100644
index 0000000..50821de
Binary files /dev/null and b/src/components/FooterBottom/assets/Master.png differ
diff --git a/src/components/FooterBottom/assets/PayPal.png b/src/components/FooterBottom/assets/PayPal.png
new file mode 100644
index 0000000..ab7c7cd
Binary files /dev/null and b/src/components/FooterBottom/assets/PayPal.png differ
diff --git a/src/components/FooterBottom/assets/Visa.png b/src/components/FooterBottom/assets/Visa.png
new file mode 100644
index 0000000..b361e32
Binary files /dev/null and b/src/components/FooterBottom/assets/Visa.png differ
diff --git a/src/components/FooterBottom/assets/m3-logo.svg b/src/components/FooterBottom/assets/m3-logo.svg
new file mode 100644
index 0000000..780c92a
--- /dev/null
+++ b/src/components/FooterBottom/assets/m3-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/FooterBottom/assets/vtex-logo.svg b/src/components/FooterBottom/assets/vtex-logo.svg
new file mode 100644
index 0000000..b6fd99e
--- /dev/null
+++ b/src/components/FooterBottom/assets/vtex-logo.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/components/FooterBottom/assets/vtex-pci-200.png b/src/components/FooterBottom/assets/vtex-pci-200.png
new file mode 100644
index 0000000..8764672
Binary files /dev/null and b/src/components/FooterBottom/assets/vtex-pci-200.png differ
diff --git a/src/components/FooterMenu/FooterMenu.module.scss b/src/components/FooterMenu/FooterMenu.module.scss
new file mode 100644
index 0000000..80bc14d
--- /dev/null
+++ b/src/components/FooterMenu/FooterMenu.module.scss
@@ -0,0 +1,120 @@
+@use '../../variables';
+
+.footer-menu {
+ display: flex;
+ gap: 121px;
+
+ @media (min-width: 2500px) {
+ gap: 293px;
+ }
+
+ @media ((min-width: 1025px) and (max-width: 1170px)) {
+ gap: 75px;
+ }
+
+ @media (max-width: 1024px) {
+ flex-direction: column;
+ gap: 0;
+ }
+
+ &__top {
+ &__title-wrapper {
+ @media (max-width: 1024px) {
+ display: flex;
+ justify-content: space-between;
+ }
+ }
+
+ &__title,
+ &__item,
+ &__item-title,
+ &__title-active {
+ color: variables.$black-300;
+ margin-bottom: 12px;
+ }
+
+ &__title,
+ &__title-active {
+ font-weight: 500;
+ font-size: 14px;
+ line-height: 16px;
+ text-transform: uppercase;
+
+ @media (max-width: 1024px) {
+ cursor: pointer;
+ }
+
+ @media (min-width: 2500px) {
+ font-size: 28px;
+ line-height: 33px;
+ }
+ }
+
+ &__title {
+ @media (max-width: 1024px) {
+ &:hover {
+ filter: contrast(60%);
+ }
+ }
+ }
+
+ &__title-active {
+ text-decoration-line: underline;
+ }
+
+ &__plus-sign {
+ font-weight: 500;
+ color: variables.$black-300;
+ cursor: pointer;
+
+ @media (min-width: 1025px) {
+ display: none;
+ }
+ }
+
+ &__items {
+ @media (max-width: 1024px) {
+ visibility: visible;
+ opacity: 1;
+ padding-bottom: 12px;
+ transition: .3s ease;
+ transform: translateY(0);
+ }
+ }
+
+ &__items-inactive {
+ @media (max-width: 1024px) {
+ visibility: hidden;
+ opacity: 0;
+ height: 0;
+ transform: translateY(-20%);
+ }
+ }
+
+ &__item,
+ &__item-title {
+ font-size: 12px;
+ line-height: 14px;
+ text-transform: capitalize;
+
+ @media (min-width: 2500px) {
+ font-size: 24px;
+ line-height: 28px;
+ }
+ }
+
+ &__item {
+ &:hover {
+ text-decoration-line: underline;
+ }
+ }
+
+ &__item-title {
+ font-weight: 500;
+
+ @media ((min-width: 1025px) and (max-width: 2499px)){
+ width: 150px;
+ }
+ }
+ }
+}
diff --git a/src/components/FooterMenu/FooterMenu.tsx b/src/components/FooterMenu/FooterMenu.tsx
new file mode 100644
index 0000000..74133cd
--- /dev/null
+++ b/src/components/FooterMenu/FooterMenu.tsx
@@ -0,0 +1,126 @@
+import {useState} from "react";
+
+import styles from "./FooterMenu.module.scss";
+
+import { ItemList } from "../ItemList/ItemList";
+
+const FooterMenu = () => {
+
+ const [isActive, setIsActive] = useState(false);
+ const [isActive2, setIsActive2] = useState(false);
+ const [isActive3, setIsActive3] = useState(false);
+
+ return (
+
+
+
+
+
setIsActive(!isActive)}>
+
+
+ INSTITUCIONAL
+
+
+
+ {isActive ? "-" : "+"}
+
+
+
+
+
+
+
+
+
setIsActive2(!isActive2)}>
+
+
+ DÚVIDAS
+
+
+
+ {isActive2 ? "-" : "+"}
+
+
+
+
+
+
+
+
+
setIsActive3(!isActive3)}>
+
+
+ FALE CONOSCO
+
+
+
+ {isActive3 ? "-" : "+"}
+
+
+
+
+
+
+ );
+}
+
+export { FooterMenu };
diff --git a/src/components/FooterTop/FooterTop.module.scss b/src/components/FooterTop/FooterTop.module.scss
new file mode 100644
index 0000000..b1fd4bf
--- /dev/null
+++ b/src/components/FooterTop/FooterTop.module.scss
@@ -0,0 +1,15 @@
+@use '../../variables';
+
+.footer-top {
+ display: flex;
+ justify-content: space-between;
+ margin: 50px 0;
+ padding: 0 100px;
+
+ @media (max-width: 1024px) {
+ flex-direction: column;
+ justify-content: flex-start;
+ margin: 24px 0;
+ padding: 0 16px;
+ }
+}
diff --git a/src/components/FooterTop/FooterTop.tsx b/src/components/FooterTop/FooterTop.tsx
new file mode 100644
index 0000000..9dec508
--- /dev/null
+++ b/src/components/FooterTop/FooterTop.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+
+import styles from "./FooterTop.module.scss";
+
+import { RedesSociais } from "../RedesSociais/RedesSociais";
+import { FooterMenu } from "../FooterMenu/FooterMenu";
+
+const FooterTop = () => {
+
+ return (
+
+
+
+
+ );
+}
+
+export { FooterTop };
diff --git a/src/components/IconList/IconList.tsx b/src/components/IconList/IconList.tsx
new file mode 100644
index 0000000..db73f22
--- /dev/null
+++ b/src/components/IconList/IconList.tsx
@@ -0,0 +1,20 @@
+import React from "react";
+
+interface Icon {
+ src: string;
+ alt: string;
+ imgClassName?: string;
+ liClassName?: string;
+}
+
+const IconList = ( props: Icon ) => {
+ const { src, alt, imgClassName, liClassName } = props;
+
+ return (
+
+
+
+ );
+};
+
+export { IconList };
diff --git a/src/components/ItemList/ItemList.tsx b/src/components/ItemList/ItemList.tsx
new file mode 100644
index 0000000..0ec46da
--- /dev/null
+++ b/src/components/ItemList/ItemList.tsx
@@ -0,0 +1,14 @@
+import React from "react";
+
+interface Icon {
+ text: string;
+ textClassName?: string;
+}
+
+const ItemList = ( props: Icon) => {
+ const { text, textClassName } = props;
+
+ return { text } ;
+};
+
+export { ItemList };
diff --git a/src/components/ItemNavBar/ItemNavBar.module.scss b/src/components/ItemNavBar/ItemNavBar.module.scss
deleted file mode 100644
index 1f5b977..0000000
--- a/src/components/ItemNavBar/ItemNavBar.module.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-@use '../../variables';
-
-.nav-bar__item {
- font-weight: 500;
- font-size: 14px;
- line-height: 16px;
- text-transform: uppercase;
- color: variables.$white;
- cursor: pointer;
-
- @media (min-width: 3600px) {
- font-size: 32px;
- line-height: 38px;
- }
-
- @media ((min-width: 2500px) and (max-width: 3599px)) {
- font-size: 28px;
- line-height: 33px;
- }
-
- @media (max-width: 1024px) {
- color: variables.$gray-400;
- margin-bottom: 12px;
- }
-
- &:hover {
- filter: brightness(80%);
- }
-}
diff --git a/src/components/ItemNavBar/ItemNavBar.tsx b/src/components/ItemNavBar/ItemNavBar.tsx
deleted file mode 100644
index 7d37cf7..0000000
--- a/src/components/ItemNavBar/ItemNavBar.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import React from 'react';
-
-import styles from "./ItemNavBar.module.scss";
-
-const ItemNavBar = ( props:any) => {
- const { text } = props;
- return { text } ;
-};
-
-export { ItemNavBar };
diff --git a/src/components/Newsletter/Newsletter.module.scss b/src/components/Newsletter/Newsletter.module.scss
new file mode 100644
index 0000000..c436dd7
--- /dev/null
+++ b/src/components/Newsletter/Newsletter.module.scss
@@ -0,0 +1,200 @@
+@use '../../variables';
+
+.newsletter {
+
+ &__container {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-top: 1px solid variables.$black;
+ border-bottom: 1px solid variables.$black;
+ }
+
+ &__form {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+ margin: 16px 0;
+ position: relative;
+
+ @media (min-width: 3600px) {
+ margin: 18px 0;
+ }
+
+ @media (max-width: 1024px) {
+ width: 100%;
+ padding: 0 16px;
+ gap: 16px;
+ }
+
+ &__title {
+ font-weight: 500;
+ font-size: 18px;
+ line-height: 21px;
+ letter-spacing: 0.05em;
+ font-variant: small-caps;
+ color: variables.$black-300;
+ text-align: left;
+
+ @media (min-width: 3600px) {
+ font-size: 40px;
+ line-height: 48px;
+ }
+
+ @media ((min-width: 2500px) and (max-width: 3599px)) {
+ font-size: 36px;
+ line-height: 42px;
+ }
+
+ @media (max-width: 1024px) {
+ font-size: 14px;
+ line-height: 16px;
+ }
+ }
+
+ &__items {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ gap: 8px;
+
+ @media (max-width: 1024px) {
+ flex-direction: column;
+ align-items: stretch;
+ gap: 16px;
+ }
+
+ &__email {
+ input {
+ background: variables.$white;
+ border: 1px solid variables.$gray-600;
+ border-radius: 4px;
+ width: 100%;
+ min-width: 340px;
+ height: 42px;
+ font-size: 14px;
+ line-height: 16px;
+ color: variables.$gray-400;
+ padding: 13px 16px;
+
+ &::placeholder {
+ font-size: 14px;
+ line-height: 16px;
+ color: variables.$gray-400;
+ }
+
+ @media (min-width: 3600px) {
+ font-size: 32px;
+ line-height: 36px;
+ min-width: 720px;
+ height: 64px;
+
+ &::placeholder {
+ font-size: 32px;
+ line-height: 36px;
+ }
+ }
+
+ @media ((min-width: 2500px) and (max-width: 3599px)) {
+ font-size: 28px;
+ line-height: 33px;
+ min-width: 668px;
+ height: 59px;
+
+ &::placeholder {
+ font-size: 28px;
+ line-height: 33px;
+ }
+ }
+
+ @media (max-width: 1024px) {
+ min-width: 100%;
+ padding: 17px 16px;
+ }
+ }
+ }
+
+ &__btn {
+ width: 126px;
+ height: 42px;
+ background: variables.$black;
+ border: none;
+ box-shadow: 0px 4px 4px variables.$shadow;
+ border-radius: 4px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ font-weight: 700;
+ font-size: 12px;
+ line-height: 14px;
+ letter-spacing: 0.05em;
+ color: variables.$white;
+ padding: 20px 14px;
+ text-transform: uppercase;
+
+ &:hover {
+ filter: opacity(.8);
+ }
+
+ &:active {
+ filter: opacity(1);
+ }
+
+ @media (min-width: 3600px) {
+ width: 280px;
+ height: 64px;
+ font-size: 28px;
+ line-height: 32px;
+ }
+
+ @media ((min-width: 2500px) and (max-width: 3599px)) {
+ width: 246px;
+ height: 59px;
+ font-size: 24px;
+ line-height: 28px;
+ }
+
+ @media (max-width: 1024px) {
+ width: 100%;
+ font-size: 14px;
+ line-height: 16px;
+ box-shadow: none;
+ }
+ }
+ }
+ }
+}
+
+span {
+ font-size: 12px;
+ line-height: 14px;
+ color: variables.$red;
+ position: absolute;
+ right: 0;
+ top: 14px;
+
+ @media (min-width: 3600px) {
+ font-size: 26px;
+ line-height: 30px;
+ top: 20px;
+ }
+
+ @media ((min-width: 2500px) and (max-width: 3599px)) {
+ font-size: 24px;
+ line-height: 28px;
+ top: 20px;
+ }
+
+ @media (min-width: 350px) and (max-width: 1024px) {
+ right: 16px;
+ }
+
+ @media (max-width: 349px) {
+ font-size: 11px;
+ top: 18px;
+ right: 16px;
+ }
+}
diff --git a/src/components/Newsletter/Newsletter.tsx b/src/components/Newsletter/Newsletter.tsx
new file mode 100644
index 0000000..2466510
--- /dev/null
+++ b/src/components/Newsletter/Newsletter.tsx
@@ -0,0 +1,56 @@
+import React from "react";
+
+import { Formik, Form, Field, ErrorMessage, FormikHelpers} from "formik";
+
+import styles from "./Newsletter.module.scss";
+
+import NewsletterSchema from "./Schema/NewsletterSchema";
+import { Button } from "../Button/Buttom";
+
+interface NewsletterValue {
+ email: string;
+}
+
+const initialValue = {
+ email: "",
+}
+
+let listEmail: Array = [];
+
+const Newsletter = () => {
+
+ const handleSubmit = (values: NewsletterValue, actions: FormikHelpers) => {
+ listEmail.push(values);
+ console.log(listEmail);
+ actions.resetForm();
+ };
+
+ return (
+
+
+
+ {({errors, touched}) => (
+
+ )}
+
+
+
+ );
+};
+
+export {Newsletter};
diff --git a/src/components/Newsletter/Schema/NewsletterSchema.ts b/src/components/Newsletter/Schema/NewsletterSchema.ts
new file mode 100644
index 0000000..1064606
--- /dev/null
+++ b/src/components/Newsletter/Schema/NewsletterSchema.ts
@@ -0,0 +1,5 @@
+import * as Yup from "yup";
+
+export default Yup.object().shape({
+ email: Yup.string().email("*E-mail Inválido").required("")
+});
diff --git a/src/components/RedesSociais/RedesSociais.module.scss b/src/components/RedesSociais/RedesSociais.module.scss
new file mode 100644
index 0000000..fa52094
--- /dev/null
+++ b/src/components/RedesSociais/RedesSociais.module.scss
@@ -0,0 +1,46 @@
+@use '../../variables';
+
+.redes-sociais {
+ &__container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ gap: 12px;
+ }
+
+ &__icons {
+ display: flex;
+ gap: 10px;
+
+ &__icon {
+ width: 35px;
+
+ &:hover {
+ filter: contrast(30%);
+ }
+
+ &:active {
+ filter: contrast(100%);
+ }
+
+ @media (min-width: 2500px) {
+ width: 70px;
+ }
+ }
+ }
+
+ &__link {
+ font-size: 14px;
+ line-height: 16px;
+ color: variables.$black-300;
+
+ &:hover {
+ text-decoration-line: underline;
+ }
+
+ @media (min-width: 2500px) {
+ font-size: 28px;
+ line-height: 33px;
+ }
+ }
+}
diff --git a/src/components/RedesSociais/RedesSociais.tsx b/src/components/RedesSociais/RedesSociais.tsx
new file mode 100644
index 0000000..1a31278
--- /dev/null
+++ b/src/components/RedesSociais/RedesSociais.tsx
@@ -0,0 +1,64 @@
+import React from "react";
+
+import styles from "./RedesSociais.module.scss";
+
+import imgFacebook from "./assets/facebook-icon.svg";
+import imgInstagram from "./assets/instagram-icon.svg";
+import imgTwitter from "./assets/twitter-icon.svg";
+import imgYouTube from "./assets/youtube-icon.svg";
+import imgLinkdin from "./assets/linkedin-icon.svg";
+
+import { IconList } from "../IconList/IconList";
+
+const RedesSociais = () => {
+
+ return (
+
+ );
+}
+
+export { RedesSociais };
diff --git a/src/components/RedesSociais/assets/facebook-icon.svg b/src/components/RedesSociais/assets/facebook-icon.svg
new file mode 100644
index 0000000..17d16fd
--- /dev/null
+++ b/src/components/RedesSociais/assets/facebook-icon.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/components/RedesSociais/assets/instagram-icon.svg b/src/components/RedesSociais/assets/instagram-icon.svg
new file mode 100644
index 0000000..8a8998b
--- /dev/null
+++ b/src/components/RedesSociais/assets/instagram-icon.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/components/RedesSociais/assets/linkedin-icon.svg b/src/components/RedesSociais/assets/linkedin-icon.svg
new file mode 100644
index 0000000..0e74f6b
--- /dev/null
+++ b/src/components/RedesSociais/assets/linkedin-icon.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/components/RedesSociais/assets/twitter-icon.svg b/src/components/RedesSociais/assets/twitter-icon.svg
new file mode 100644
index 0000000..429d79f
--- /dev/null
+++ b/src/components/RedesSociais/assets/twitter-icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/RedesSociais/assets/youtube-icon.svg b/src/components/RedesSociais/assets/youtube-icon.svg
new file mode 100644
index 0000000..8894c8b
--- /dev/null
+++ b/src/components/RedesSociais/assets/youtube-icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/WhatsAppAndScrollTop/WhatsAppAndScrollTop.module.scss b/src/components/WhatsAppAndScrollTop/WhatsAppAndScrollTop.module.scss
new file mode 100644
index 0000000..69f7886
--- /dev/null
+++ b/src/components/WhatsAppAndScrollTop/WhatsAppAndScrollTop.module.scss
@@ -0,0 +1,70 @@
+@use '../../variables';
+
+.buttons {
+ display: flex;
+ flex-direction: column ;
+ position: fixed;
+ right: 16px;
+ bottom: 190px;
+
+ @media (min-width: 2500px) {
+ bottom: 229px;
+ }
+
+ @media (max-width: 1024px) {
+ bottom: 51px;
+ }
+
+ @media (max-width: 375px) {
+ bottom: 29px;
+ }
+
+ &__whatsaspp {
+ margin-bottom: 5px;
+
+ @media (min-width: 2500px) {
+ width: 66px;
+ }
+
+ &:hover {
+ filter: brightness(90%) ;
+ }
+
+ &:active {
+ filter: brightness(100%);
+ }
+ }
+
+ &__scrolltop {
+ &__circle {
+ width: 34px;
+ height: 34px;
+ background-color: variables.$gray-400;
+ border: none;
+ border-radius: 50%;
+ position: relative;
+
+ @media (min-width: 2500px) {
+ width: 66px;
+ height: 66px;
+ }
+
+ &:hover {
+ filter: brightness(90%) ;
+ }
+ }
+
+ &__arrow {
+ position: absolute;
+ top: 13px;
+ right: 11px;
+
+ @media (min-width: 2500px) {
+ width: 24px;
+ height: 13px;
+ top: 25px;
+ right: 21px;
+ }
+ }
+ }
+}
diff --git a/src/components/WhatsAppAndScrollTop/WhatsAppAndScrollTop.tsx b/src/components/WhatsAppAndScrollTop/WhatsAppAndScrollTop.tsx
new file mode 100644
index 0000000..7e9630d
--- /dev/null
+++ b/src/components/WhatsAppAndScrollTop/WhatsAppAndScrollTop.tsx
@@ -0,0 +1,31 @@
+import React from "react";
+
+import imgWhatsApp from "./assets/whatsapp.svg";
+import imgArrow from "./assets/arrow.svg";
+
+import styles from "./WhatsAppAndScrollTop.module.scss";
+
+const WhatsAppAndScrollTop = () => {
+
+ const scrollTop = () => {
+ window.scrollTo({
+ top: 0,
+ behavior: "smooth",
+ });
+ };
+
+ return (
+
+
+
+
+
+
+
+ );
+}
+
+export{ WhatsAppAndScrollTop };
diff --git a/src/components/WhatsAppAndScrollTop/assets/arrow.svg b/src/components/WhatsAppAndScrollTop/assets/arrow.svg
new file mode 100644
index 0000000..a217195
--- /dev/null
+++ b/src/components/WhatsAppAndScrollTop/assets/arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/components/WhatsAppAndScrollTop/assets/whatsapp.svg b/src/components/WhatsAppAndScrollTop/assets/whatsapp.svg
new file mode 100644
index 0000000..13b56b3
--- /dev/null
+++ b/src/components/WhatsAppAndScrollTop/assets/whatsapp.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/global.scss b/src/global.scss
index a8b8b11..9711fbf 100644
--- a/src/global.scss
+++ b/src/global.scss
@@ -15,6 +15,10 @@ body,
height: 100%;
}
+body {
+ position: relative;
+}
+
*:focus {
outline: 0;
}
diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx
index 4ef54c4..d8c8f6b 100644
--- a/src/pages/Home.tsx
+++ b/src/pages/Home.tsx
@@ -1,22 +1,31 @@
-import React from 'react';
+import React from "react";
import styles from "./Home.module.scss";
-import { HeaderTop } from '../components/HeaderTop/HeaderTop';
-import { HeaderBottom } from '../components/HeaderBottom/HeaderBottom';
+import { HeaderTop } from "../components/HeaderTop/HeaderTop";
+import { HeaderBottom } from "../components/HeaderBottom/HeaderBottom";
+import { Newsletter } from "../components/Newsletter/Newsletter";
+import { FooterBottom } from "../components/FooterBottom/FooterBottom";
+import { FooterTop } from "../components/FooterTop/FooterTop";
+import { WhatsAppAndScrollTop } from "../components/WhatsAppAndScrollTop/WhatsAppAndScrollTop";
const Home = () => {
return (
<>
-
+
-
+
-
+
>
);
}