Merge pull request 'develop' (#4) from develop into main

Reviewed-on: #4
This commit is contained in:
Cainã Milech 2022-12-19 02:36:56 +00:00
commit d97f29e168
13 changed files with 3035 additions and 11396 deletions

16
bash.exe.stackdump Normal file
View File

@ -0,0 +1,16 @@
Stack trace:
Frame Function Args
000FFFFCD30 00210062B0E (0021028A770, 00210275E51, 00000000001, 000FFFFB710)
000FFFFCD30 0021004846A (00210000000, 00200000000, 00000000000, 00000000001)
000FFFFCD30 002100484A2 (000007D0000, 000007D0101, 00000000001, 5C74DE1CAC3C)
000FFFFCD30 0021006E416 (00210045323, 00210358970, 00000000000, 0000000000D)
000FFFFCD30 0021006E429 (00210045170, 0021023D7E0, 002100448F2, 000FFFFC910)
000FFFFCD30 002100713D4 (00000000013, 00000000001, 000FFFFC910, 00210278640)
000FFFFCD30 0021005AB65 (000FFFFCA60, 00000000000, 000FFFFCA68, 000FFFFFFFF)
000FFFFCD30 0021005B335 (00210358290, 00000001000, 00000000004, 00210355C90)
000FFFFCD30 0021005B847 (002100DF51E, 00000000000, 00000000000, 00000000000)
000FFFFCD30 0021005BB86 (00000000000, 000FFFFCD30, FFFFFFFFFFFFFFC6, 00000000000)
000FFFFCD30 00210048C0C (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00210047716 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 002100477C4 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace

10970
checkout/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -32,9 +32,7 @@ export default class CheckoutUI {
toggleFooterDropdown(event) {
event.target.classList.toggle("closed");
event.target.nextElementSibling.classList.toggle(
"dropdown__content--closed"
);
event.target.nextElementSibling.classList.toggle("dropdown__content--closed");
}
init() {
@ -56,14 +54,7 @@ export default class CheckoutUI {
resizeImages() {
$(".product-image img").each((i, el) => {
const $el = $(el);
$el.attr(
"src",
alterarTamanhoImagemSrcVtex(
$el.attr("src"),
this.width,
this.height
)
);
$el.attr("src", alterarTamanhoImagemSrcVtex($el.attr("src"), this.width, this.height));
});
}
}

View File

@ -7,34 +7,182 @@ export default class Footer {
async init() {
await this.selectors();
// this.onUpdate();
await this.carrinho();
this.renderPrateleira();
this.onUpdate();
}
async selectors() {
//Para verificar se o carrinho está vazio e remover a prateleira de produtos:
// vocês devem olhar a doc fornecida no Desafio para aprender a usar o waitElement
this.title = await waitElement("#cart-title");
this.checkoutVazio = await waitElement(".empty-cart-content");
//CARRINHO VAZIO
this.fraseCarrinhoVazio = await waitElement(".empty-cart-title");
this.continuarCompra = await waitElement("#cart-choose-products");
//carrinho
this.frete = await waitElement(".shipping-date");
this.unidade = await waitElement(".product-price");
this.footerPrateleira = await waitElement(".footerCheckout__prateleira");
//pagamento
this.notification = await waitElement(".notification");
//footer
this.creditcards = await waitElement(".footerCheckout__payments");
this.vtex = await waitElement(".footerCheckout__vtexpci");
this.developed = await waitElement(".footerCheckout__developedBy");
}
onUpdate() {
async prateleira() {
if (this.checkoutVazio.style.display == "none") {
this.title.innerHTML = `MEU CARRINHO`;
this.requestApi();
this.addCarrossel();
window.addEventListener("hashchange", () => {
if (window.location.hash !== "#/cart") {
this.removePrateleira();
}
if (window.location.hash == "#/cart") {
this.requestApi();
this.addCarrossel();
}
});
}
}
async removePrateleira() {
let prateleira = this.footerPrateleira;
prateleira.innerHTML = ``;
}
async requestApi() {
let prateleira = this.footerPrateleira;
prateleira.innerHTML = `<h2>Você também pode gostar:</h2>
<ul class=carrosel-items></ul>`;
const url = `https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319`;
fetch(url)
.then((response) => {
return response.json();
})
.then((data) => {
return data.map(function (product) {
let li = document.createElement("li");
li.setAttribute("id", product.productId);
li.innerHTML = `
<img src="${product.items[0].images[0].imageUrl}" alt="${
product.productName
}" />
<p class="product-name">${product.productName}</p>
<div class="product-variation">${product.items
.map((name) => {
return `<a name="product-variation__variation" class="product-variation__variation">${name.name}</a>`;
})
.join("")}</div>
<button class="product-btn">Ver produto</button>`;
prateleira.children[1].appendChild(li);
});
});
}
async addCarrossel() {
const prateleira = await waitElement(".carrosel-items", { timeout: 5000, interval: 500 });
if (window.screen.width > 1024) {
$(prateleira).slick({
slidesToShow: 4,
slidesToScroll: 1,
infinite: true,
arrows: true,
});
} else if (window.screen.width < 600) {
$(prateleira).slick({
slidesToShow: 2,
slidesToScroll: 1,
infinite: true,
arrows: true,
});
} else if (window.screen.width <= 1024) {
$(prateleira).slick({
slidesToShow: 3,
slidesToScroll: 1,
infinite: true,
arrows: true,
});
}
}
async onUpdate() {
//Função qeu fará a verificação se o carrinho está vazio para remover a prateleira de produtos:
// vocês devem olhar a doc fornecida no Desafio para aprender a usar a MutationObserver
// sempre que o carrinho estiver vazio o elemento chcekoutVazio fica display: none e isso pode ser usado como atributo para a MutationObserver
let target = this.checkoutVazio;
let config = { childList: true, attributes: true };
let observer = new MutationObserver((mutations) => {
mutations.forEach(function (mutation) {
console.log(mutation.type);
mutations.map((mutation) => {
const display = mutation.target.attributes.style.nodeValue;
console.log(mutation);
if (display == "display: none;") {
this.prateleira();
} else if (display == "display: block;") {
this.title.innerHTML = ``;
this.removePrateleira();
}
});
});
observer.observe(target, config);
}
async addCarrossel() {
const elemento = await waitElement("#my-element");
$(elemento).slick({
slidesToShow: 4,
slidesToScroll: 1,
});
async renderPrateleira() {
if (window.location.hash == "#/cart") {
this.onUpdate();
this.prateleira();
}
}
carrinho() {
this.title.innerHTML = ``;
this.continuarCompra.innerHTML = `continuar comprando`;
this.frete.innerHTML = `Frete`;
this.unidade.innerHTML = `Unidade`;
//footer
this.creditcards.innerHTML = `<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/masterCardM3Academy.png" alt="MasterCard" />
</figure>
<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/visaM3Academy.png" alt="VisaCard" />
</figure>
<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/amexM3Academy.png" alt="America Express" />
</figure>
<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/eloM3Academy.png" alt="Elo" />
</figure>
<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/hiperCardM3Academy.png" alt="HiperCard" />
</figure>
<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/payPalM3Academy.png" alt="Paypal" />
</figure>
<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/boletoM3Academy.png" alt="Boleto" />
</figure>`;
this.vtex.innerHTML = `<figure>
<img src="https://agenciamagma.vteximg.com.br/arquivos/vtexPCIM3Academy.png" alt="VTEX" />
</figure>`;
this.developed.innerHTML = `<li>
<a href="https://vtex.com/br-pt/">
<span>Powered By</span>
<figure><img src="https://agenciamagma.vteximg.com.br/arquivos/logoVTEXM3Academy.png" alt="VTEX" /></figure>
</a>
</li>
<li>
<a href="https://agenciam3.com/">
<span>Developed By</span>
<figure><img src="https://agenciamagma.vteximg.com.br/arquivos/logoM3M3Academy.png" alt="M3" /></figure>
</a>
</li>`;
}
}

View File

@ -8,14 +8,261 @@ export default class Header {
async init() {
await this.selectors();
console.log(this.item);
this.progressBarHTML();
await this.progressBarProgress();
}
async selectors() {
this.item = await waitElement("#my-element", {
//#my-element pode ser a class ou o id do elemento html qeu vocÊ quer pegar
timeout: 5000, // vai esperar 5 segundos antes de rejeitar a promise
interval: 1000, // vai verificar a cada 1 segundo se o elemento existe
});
this.header = await waitElement(".headerCheckout");
this.progressBar = await waitElement("#progressBar");
//#my-element pode ser a class ou o id do elemento html qeu vocÊ quer pegar
//timeout: 5000, // vai esperar 5 segundos antes de rejeitar a promise
//interval: 1000, // vai verificar a cada 1 segundo se o elemento existe
}
progressBarHTML() {
if (this.progressBar && window.innerWidth > 1024) {
this.progressBar.innerHTML = `<div id="progressBar" class="progress-bar">
<ul>
<li>
<div class="containerLi div-1">
<div>
<p class="progress-bar-text">Meu Carrinho</p>
<p id="progress-bar-circle-1" class="progress-bar-circle-1"></p>
<p class="progress-bar-line-left"></p>
</div>
</div>
</li>
<li class="central">
<div class="containerLi">
<div>
<p class="progress-bar-text">Dados Pessoais</p>
<p id="progress-bar-circle-2" class="progress-bar-circle-2"></p>
</div>
</div>
</li>
<li>
<div class="containerLi div-3">
<div>
<p class="progress-bar-text">Pagamento</p>
<p id="progress-bar-circle-3" class="progress-bar-circle-3"></p>
<p class="progress-bar-line-right"></p>
</div>
</div>
</li>
</ul>
</div>`;
}
if (this.progressBar && window.innerWidth <= 1024) {
this.progressBar.innerHTML = ``;
}
}
async progressBarProgress() {
if (this.progressBar && window.innerWidth > 1024) {
const progressBarLista = document.querySelectorAll("#progressBar ul li");
progressBarLista.forEach((li) => {
if (window.location.href === "https://m3academy.myvtex.com/checkout/#/cart") {
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
li.children[0].children[0].children["progress-bar-circle-1"].classList.add(
"active"
);
}
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.remove("active");
}
}
} else if (
window.location.href === "https://m3academy.myvtex.com/checkout/#/email" ||
window.location.href === "https://m3academy.myvtex.com/checkout/#/profile" ||
window.location.href === "https://m3academy.myvtex.com/checkout/#/shipping"
) {
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
li.children[0].children[0].children["progress-bar-circle-2"].classList.add(
"active"
);
}
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.remove("active");
}
}
} else if (
window.location.href === "https://m3academy.myvtex.com/checkout/#/payment"
) {
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
li.children[0].children[0].children["progress-bar-circle-3"].classList.add(
"active"
);
}
}
window.addEventListener("hashchange", () => {
if (window.location.hash == "#/cart") {
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.add("active");
}
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.remove("active");
}
}
} else if (
window.location.hash == "#/email" ||
window.location.hash == "#/profile" ||
window.location.hash == "#/shipping"
) {
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.add("active");
}
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.remove("active");
}
}
} else if (window.location.hash == "#/payment") {
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-1"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-2"
].classList.remove("active");
}
}
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
li.children[0].children[0].children[
"progress-bar-circle-3"
].classList.add("active");
}
}
});
});
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +1,39 @@
.empty-cart {
font-family: $font-family;
&-content {
color: $color-black;
text-align: center;
font-family: $font-family;
@include mq(md, max) {
padding: 0 16px;
}
}
&-content {
color: $color-black;
text-align: center;
&-title {
font-size: 20px;
}
@include mq(md, max) {
padding: 0 16px;
}
}
&-links {
.link-choose-products {
background: $color-black;
border: none;
border-radius: 5px;
transition: ease-in 0.22s all;
outline: none;
font-family: $font-family;
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 16px;
text-align: center;
letter-spacing: 0.05em;
color: $color-white;
text-transform: uppercase;
&-title {
font-size: 20px;
}
&:hover {
background: lighten($color-black, 5);
}
}
}
&-links {
.link-choose-products {
background: $color-black;
border: none;
border-radius: 5px;
transition: ease-in 0.22s all;
outline: none;
font-family: $font-family;
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 16px;
text-align: center;
letter-spacing: 0.05em;
color: $color-white;
text-transform: uppercase;
&:hover {
background: lighten($color-black, 5);
}
}
}
}

View File

@ -14,8 +14,10 @@ footer .footerCheckout__wrapper {
}
footer .footerCheckout__prateleira,
header {
width: 79.53125%;
margin: 0 auto;
@include mq(tablet, min) {
width: 79.53125%;
margin: 0 auto 56px auto;
}
}
body {
@ -49,7 +51,13 @@ body {
}
.container-order-form,
.container-cart {
box-sizing: border-box;
width: 80%;
@include mq(tablet, max) {
width: 100%;
padding: 0;
}
}
}
@ -68,13 +76,11 @@ body {
#cart-title,
#orderform-title {
color: $color-gray2;
font-family: $font-family;
font-weight: 500;
font-size: 36px;
line-height: 42px;
margin: 40px 0 30px;
letter-spacing: 0.1em;
text-transform: uppercase;
@include mq(md, max) {

View File

@ -1,3 +1,27 @@
.footerCheckout {
&__prateleira {
@include mq(tablet, max) {
padding: 0 16px;
margin-bottom: 54px;
}
h2 {
font-family: $font-family-secundary;
font-style: normal;
font-weight: 400;
font-size: 24px;
line-height: 38px;
text-align: center;
color: $color-black-500;
margin-bottom: 20px;
@include mq(xxl, min) {
font-size: 48px;
line-height: 76px;
}
}
}
}
/* Slider */
.slick-slider {
@ -13,12 +37,13 @@
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
margin: 0;
}
.slick-list {
position: relative;
overflow: hidden;
display: block;
margin: 0;
margin: 0 -8px;
padding: 0;
&:focus {
@ -61,7 +86,10 @@
visibility: hidden;
}
}
.slick-slide {
margin: 0 8px;
float: left;
height: 100%;
min-height: 1px;
@ -69,9 +97,91 @@
[dir="rtl"] & {
float: right;
}
img {
display: block;
li {
text-align: center;
img {
width: 100%;
display: block;
margin-bottom: 20px;
}
p {
font-style: normal;
font-weight: 400;
font-size: 13px;
line-height: 18px;
color: $color-black-500;
@include mq(xxl, min) {
font-size: 26px;
line-height: 35px;
}
@media (min-width: 1025px) and (max-width: 1110px) {
height: 36px;
}
}
.product-variation {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-bottom: 15px;
@include mq(xl, max) {
height: 66px;
}
&__variation {
height: fit-content;
margin: 0 2.5px 5px;
background: $color-blue2;
border-radius: 8px;
padding: 5px;
font-family: $font-family;
font-style: normal;
font-weight: 700;
font-size: 13px;
line-height: 18px;
align-items: center;
text-align: center;
letter-spacing: 0.05em;
text-transform: uppercase;
color: $color-white;
@include mq(xxl, min) {
font-size: 26px;
line-height: 35px;
}
}
}
.product-btn {
width: 100%;
height: 42px;
justify-content: center;
text-align: center;
background: $color-blue2;
border-radius: 8px;
border: none;
font-family: $font-family;
font-style: normal;
font-weight: 700;
font-size: 13px;
line-height: 18px;
letter-spacing: 0.05em;
text-transform: uppercase;
color: $color-white;
@include mq(xxl, min) {
font-size: 26px;
line-height: 35px;
}
}
}
&.slick-loading img {
display: none;
}
@ -99,16 +209,41 @@
.slick-arrow {
font-size: 0;
position: absolute;
width: 13.64px;
height: 29.47px;
border: none;
z-index: 4;
top: 45%;
@include mq(xxl, min) {
width: 26px;
height: 58px;
top: 50%;
}
@include mq(md, max) {
top: 50%;
}
}
.slick-prev {
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-mini-M3Academy.svg")
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-M3Academy.svg")
no-repeat center center;
z-index: 4;
background-size: contain;
left: 10px;
@include mq(md, max) {
left: 0px;
}
}
.slick-next {
z-index: 4;
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-M3Academy.svg")
no-repeat center center;
background-size: contain;
right: 10px;
@include mq(md, max) {
right: 0;
}
}
.slick-arrow.slick-hidden {
display: none;

View File

@ -2,25 +2,61 @@
.footerCheckout {
border-top: none;
color: $color-gray2;
display: contents; /*testar*/
&__wrapper {
border-top: 1px solid $color-black-500;
width: 100% !important;
align-items: center;
display: flex;
justify-content: space-between;
margin-top: 0;
.container {
/*width: 91.40625%;*/
width: 100%;
margin: 16px 32px;
display: flex;
align-items: center;
justify-content: space-between;
@include mq(tablet, max) {
align-items: flex-start;
flex-direction: column;
padding: 16px 8px;
margin: 0;
}
@include mq(md, max) {
margin: 16px 0;
}
}
}
&__address {
color: $color-gray2;
margin-right: auto;
font-family: $font-family;
font-style: normal;
font-weight: normal;
font-weight: 400;
font-size: 10px;
line-height: 12px;
line-height: 14px;
color: $color-black;
text-transform: capitalize;
max-width: 40%;
@include mq(xxl, min) {
font-size: 20px;
line-height: 27px;
}
@include mq(tablet, max) {
margin-bottom: 16px;
margin-left: 8px;
order: 1;
}
@include mq(md, max) {
margin-bottom: 24px;
margin-bottom: 16px;
max-width: 100%;
}
}
@ -30,29 +66,102 @@
display: flex;
justify-self: center;
list-style: none;
margin: 0;
@include mq(tablet, max) {
margin-bottom: 16px;
}
li {
display: flex;
.footerCheckout__payments {
display: flex;
column-gap: 13px;
@include mq(md, max) {
column-gap: 4px;
}
figure {
margin: 0;
width: 35px;
height: 20px;
@include mq(xxl, min) {
width: 69px;
height: 39px;
}
img {
width: 100%;
vertical-align: unset;
}
}
}
.footerCheckout__vtexpci {
display: flex;
figure {
margin: 0;
width: 53px;
height: 33px;
@include mq(xxl, min) {
width: 103px;
height: 64px;
}
img {
width: 100%;
vertical-align: unset;
}
}
}
}
@include mq(md, max) {
align-self: center;
align-self: flex-start;
margin-bottom: 12px;
}
&__divider {
background-color: $color-gray4;
background-color: $color-gray7;
display: inline-block;
height: 24px;
margin: 0 8px;
margin: 0 10px 0 13px;
width: 1px;
@include mq(xxl, min) {
height: 43px;
}
}
}
&__developedBy {
margin: 0 0 0 auto;
align-items: center;
display: flex;
list-style-type: none;
margin: 0;
@include mq(tablet, max) {
margin: 0 0 0 8px;
order: 2;
}
li:last-child {
margin-left: 16px;
margin-left: 10.73px;
figure {
width: 28.66px;
height: 15.65px;
@include mq(xxl, min) {
width: 55px;
height: 30px;
}
}
}
a {
@ -67,7 +176,33 @@
text-decoration: none;
span {
margin-right: 8px;
margin-right: 10px;
font-style: normal;
font-weight: 400;
font-size: 9px;
line-height: 12px;
color: $color-black;
@include mq(xxl, min) {
font-size: 18px;
line-height: 25px;
}
}
figure {
margin: 0;
width: 44.92px;
height: 16px;
@include mq(xxl, min) {
width: 87px;
height: 31px;
}
img {
width: 100%;
vertical-align: unset;
}
}
}
}

View File

@ -1,7 +1,18 @@
/* _header.scss */
.headerCheckout {
width: 100%;
border-bottom: 1px solid $color-black-500;
.container {
width: auto !important;
width: 79.53125% !important;
@include mq(tablet, max) {
width: 96.875% !important;
}
@include mq(md, max) {
width: 91.46% !important;
}
}
&__wrapper {
align-items: center;
@ -10,13 +21,51 @@
}
&__logo {
width: 15.2829%;
margin: 29px 0;
@include mq(xxl, min) {
width: 19.2161%;
}
@include mq(tablet, max) {
width: 155.58px;
margin: 16px 0;
}
@include mq(cstm, max) {
margin-right: 50px;
}
img {
height: 52px;
width: auto;
width: 100%;
}
}
&__safeBuy {
display: flex;
width: 15.2829%;
@include mq(tablet, max) {
width: auto;
}
img {
width: 12px;
height: 15px;
margin-right: 8px;
@include mq(xxl, min) {
width: 29.47px;
height: 41.46px;
margin-right: 7.9px;
}
@include mq(tablet, max) {
width: 12px;
height: 13.33px;
}
}
span {
align-items: center;
display: flex;
@ -25,12 +74,141 @@
font-style: normal;
font-weight: normal;
font-size: 12px;
line-height: 14px;
color: $color-gray;
line-height: 16px;
color: $color-black;
@include mq(xxl, min) {
font-size: 24px;
line-height: 33px;
}
}
i {
margin-right: 8px;
}
}
.progress-bar {
width: 446px;
@include mq(xxl, min) {
width: 1078.86px;
}
@include mq(tablet, max) {
display: none;
}
ul {
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 !important;
li {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: $color-black-500;
width: 39.9103%;
.containerLi {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
div {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.progress-bar-text {
font-family: $font-family-secundary;
font-weight: 400;
font-size: 12px;
line-height: 14px;
margin-bottom: 9px;
@include mq(xxl, min) {
font-size: 24px;
line-height: 28px;
margin-bottom: 15px;
}
}
.progress-bar-line-left,
.progress-bar-line-right {
position: absolute;
transform: translateY(-50%);
bottom: 5px;
height: 1px;
border-top: 1px solid $color-black-500;
@include mq(xxl, min) {
bottom: 11px;
}
}
.progress-bar-line-left {
left: 26%;
width: 96%;
@include mq(xxl, min) {
left: 21.2%;
width: 434px;
}
}
.progress-bar-line-right {
right: 21%;
width: 100%;
@include mq(xxl, min) {
right: 17.5%;
width: 450px;
}
}
.active {
border: none;
background-color: $color-black-500;
}
.progress-bar-circle-1,
.progress-bar-circle-2,
.progress-bar-circle-3 {
width: 12px;
height: 12px;
border: 1px solid $color-black-500;
border-radius: 50%;
@include mq(xxl, min) {
width: 24px;
height: 24px;
}
}
}
}
.div-1 {
align-items: flex-start;
}
.div-3 {
align-items: flex-end;
}
}
li.central {
margin-left: 0.3px;
width: auto;
}
}
}
}

View File

@ -2,10 +2,11 @@
@import url("https://fonts.googleapis.com/css2?family=Tenor+Sans&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap");
$font-family: "Open Sans", sans-serif;
$font-family-secundary:"Tenor Sans", sans-serif;
$font-family-secundary: "Tenor Sans", sans-serif;
/* Colors */
$color-black: #292929;
$color-black-500: #000;
$color-white: #fff;
@ -14,25 +15,43 @@ $color-gray2: #7d7d7d;
$color-gray3: #f0f0f0;
$color-gray4: #8d8d8d;
$color-gray5: #e5e5e5;
$color-gray6: #989898;
$color-gray7: #c4c4c4;
$color-gray8: #ededed;
$color-gray9: #e0e0e0;
$color-gray10: #bdbdbd;
$color-gray11: #808080;
$color-gray12: #828282;
$color-gray13: #f2f2f2;
$color-gray14: #58595b;
$color-blue: #4267b2;
$color-blue2: #00c8ff;
$color-red: #ff0000;
$color-orange: #f15a31;
$color-green: #4caf50;
$color-green2: #298541;
/* Grid breakpoints */
$grid-breakpoints: (
xs: 0,
cstm: 400,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px
xs: 0,
fold: 350,
cstm: 400,
sm: 576px,
md: 768px,
lg: 992px,
tablet: 1025px,
xl: 1200px,
xxl: 2500px,
) !default;
$z-index: (
level1: 5,
level2: 10,
level3: 15,
level4: 20,
level5: 25
level1: 5,
level2: 10,
level3: 15,
level4: 20,
level5: 25,
) !default;