*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
a{
    text-decoration: none;
}
body{
    --line: #7777771e;
    background-color: #f5f5f5;
    background-image: 
        linear-gradient(to bottom, var(--line) 0%, var(--line) 100%),
        linear-gradient(to bottom, var(--line) 0%, var(--line) 100%),
        linear-gradient(to bottom, var(--line) 0%, var(--line) 100%),
        linear-gradient(to bottom, var(--line) 0%, var(--line) 100%),
        linear-gradient(to bottom, var(--line) 0%, var(--line) 100%);
    background-repeat: no-repeat;
    background-size: 1px 100%;
    background-position: 
        20% 0%, 
        40% 0%,
        60% 0%,
        80% 0%,
        100% 0%;
    overflow-x: hidden;
}



header{
    width: 100vw;
    position: fixed;
    top: 0;
    padding: 1rem 6vw;
    z-index: 2;
    transition: all 300ms;
    background-color: transparent;
}
header.scrolled{
    box-shadow: 0px 5px 10px -3px #77777742;
    background-color: #FFFFFF;
}
header .container{
    height: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header .container img.logo{
    height: 1rem;
}
header .container nav.mobile{
    position: absolute;
    left: 0;
    top: 4rem;
    width: 100vw;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding-block: 2rem;

    box-shadow: 0px 5px 10px -3px #77777742;
    background-color: #f5f5f5;
    animation: slide-bottom 500ms linear;
    transition: all 300ms;
}
header.scrolled .container nav.mobile{
    background-color: #FFFFFF;
}
@keyframes slide-bottom{
    0%{transform: translateY(-10px)}
    100%{transform: translateY(0)}
}
header .container nav.mobile a{
    color: #000000;
    font: 400 1rem 'Poppins';
}
header .container nav.mobile a:hover{
    color: #FF2A5A;
    transition: all 300ms;
}
header .container nav.mobile a.selected{
    color: #FF2A5A;
}
header .container nav.mobile .buttons{
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 1.5rem;
    gap: 1rem;
}
header .container nav.mobile .buttons a{
    width: 100%;
    padding: 1rem;
    border-radius: 100px;
    text-align: center;
    border: 1px solid #FF2A5A;
    color: #FF2A5A;
    font-weight: 500;
}
header .container nav.mobile .buttons a:last-child{
    color: #FF2A5A;
    background-color: #00235f;
    border-color: #00235f;
    color: #FFFFFF;
}
header .container nav.mobile .buttons a:hover{
    border-color: #FF2A5A;
    color: #FFFFFF;
    background-color: #FF2A5A;
    transition: all 300ms; 
}
header .container nav.desktop{
    display: none;
}



section.home{
    position: relative;
    margin-top: 10vh;
    padding: 10vh 6vw 0;
}
section.home .aside .text{
    display: none;
}
section.home .aside .text.visible{
    display: block;
    animation: opacity 400ms linear both;
}
@keyframes opacity{
    0%{opacity: 0;}
    100%{opacity: 1;}
}
section.home .aside .text .tag{
    display: flex;
    align-items: center;
    width: fit-content;
    padding-right: 10px;
    border-radius: 100px;
    background-color: #00235f;
    position: relative;
}
section.home .aside .text .tag p{
    font: 600 0.8rem 'Poppins';
    color: #FFFFFF;
}
section.home .aside .text h1{
    color: #00235f;
    font: 500 2rem 'Poppins';
    margin-top: 1rem;
    line-height: 2.5rem;
}
section.home .aside .text h1 span{
    padding-inline: 5px;
    font-weight: 600;
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.home .aside .text p.subtitle{
    font: 400 1rem 'poppins';
    color: #494949;
    margin-top: 1rem;
}
section.home .aside a{
    display: block;
    padding: 1.2rem 1rem;
    margin-top: 2rem;
    border-radius: 100px;
    
    font: 400 0.9rem 'poppins';
    text-align: center;
    
    color: #FFFFFF;
    background-color: #00235f;
}
section.home .aside a:hover{
    background-color: #FF2A5A;
    transition: all 300ms;
}
section.home .carousel-control{
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-top: 2rem;
}
section.home .carousel-control .buttons {
    --cor-listra: #49494942;
    display: flex;
    justify-content: space-between;
    width: 7rem;
    border-radius: 5px;
    background-color: #f5f5f5;
    background-image: repeating-linear-gradient(
    -45deg,
    var(--cor-listra) 0px,
    var(--cor-listra) 0px,
    transparent 1px,
    transparent calc(100% / 10)
  );
    
}
section.home .carousel-control .buttons img{
    width: 2.5rem;
    padding: 0.4rem;
    background-color: #FFFFFF;
    border-radius: 5px;
    border: 1px solid #77777742;
}
section.home .carousel-control .buttons img.left{
    transform: rotate(180deg);
}
section.home .carousel-control .buttons img.current{
    content: url(assets/Forward-gray.svg);
}
section.home .carousel-control .index-wrapper{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
section.home .carousel-control .index-wrapper p{
    font: 400 1rem 'poppins';
}
section.home .carousel-control .index-wrapper p:last-child{
    color: #494949;
}
section.home .carousel-control .index-wrapper .point{
    width: 5px;
    height: 5px;
    border-radius: 100px;
    background-color: #FF2A5A;
}
section.home .image{
    position: relative;
    height:65vh;
    overflow-y: hidden;
    overflow-x: visible;
}
section.home .image img.main{
    width: 100%;
    position: absolute;
    bottom: -2.5rem;
    
}
section.home .image .box{
    position: absolute;
    top: 60%;
    z-index: 1;
    display: flex;
    align-items: center;
    width: fit-content;
    padding: 0.5rem 1rem;
    gap: 0.5rem;
    border-radius: 10px;

    background-color: #FFFFFF;
    box-shadow: 10px 10px 10px 0px #77777742;
    animation: box 4s linear infinite;
}
@keyframes box{
    0%{top: 60%;}
    50%{top: 55%;}
    100%{top: 60%;}
}
section.home .image .box img{
    width: 3rem;
    height: 3rem;
    padding: 0.5rem;
    border-radius: 5px;
    background-color: #ff2a5c49;
}
section.home .image .box p{
    font: 500 0.8rem 'poppins';
    color: #00235f;
}
section.home img.card{
    display: none;
}
section.home .shadow{
    width: 100%;
    height: 0px;
    position: absolute;
    bottom: 0;
    z-index: 1;
    box-shadow: 0px -20px 180px 140px #ffffffad;
}


section.icons{
    background-color: #ffffff9c;
    padding: 10vh 6vw;
}
section.icons .item .icon{
    width: fit-content;
    border-radius: 100px;
    padding: 0.5rem;
    border: 1px solid #77777742;
    margin-inline: auto;
    margin-top: 2rem;
}
section.icons .item .icon img{
    width: 3.5rem;
    box-shadow: 0px 10px 15px #00000034;
    border-radius: 100px;
    padding: 0.5rem;
    background-color: #FFFFFF;
}
section.icons .item p.title{
    font: 500 1.8rem 'poppins';
    text-align: center;
    color: #00235f;
    margin-top: 1rem;
}
section.icons .item p.title span{
    color: #FF2A5A;
}
section.icons .item p.description{
    text-align: center;
    font: 500 1rem 'poppins';
    color: #7b809e;
}



section.cta{
    padding: 10vh 6vw;
}
section.cta .aside .tag{
    display: flex;
    align-items: center;
    width: fit-content;
    padding-right: 10px;
    border-radius: 100px;
    background-color: #00235f;
    position: relative;
}
section.cta .aside .tag p{
    font: 600 0.8rem 'Poppins';
    color: #FFFFFF;
}
section.cta .aside h2{
    margin-top: 1rem;
    font: 500 2rem 'poppins';
    color: #00235f;
    line-height: 2.5rem;
}
section.cta .aside h2 span{
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.cta .aside p.subtitle{
    font: 500 1rem 'poppins';
    color: #7b809e;
    margin-top: 1rem;
}
section.cta .aside a{
    width: 100%;
    padding: 1rem;
    margin-top: 2rem;
    border-radius: 100px;
    display: block;

    text-align: center;
    font: 400 0.8rem 'poppins';
    
    color: #FFFFFF;
    background-color: #00235f;
}
section.cta .aside a:hover{
    transition: all 300ms;
    background-color: #FF2A5A;

}
section.cta .image{
    position: relative;
}
section.cta .image img.main{
    width: 100%;
}
section.cta .image .box{
    position: absolute;
    right: -1rem;
    top: 60%;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    border-radius: 10px;

    box-shadow: 10px 10px 10px 0px #77777742;
    background-color: #FFFFFF;
    animation: box 4s linear infinite;
}
section.cta .image .box img{
    width: 2.5rem;
    padding: 0.5rem;
    border-radius: 6px;
    background-color: #ff2a5c49;
}
section.cta .image .box p:first-child{
    font: 400 0.8rem 'poppins';
    color: #00235f;
}
section.cta .image .box p:last-child{
    font: 500 1rem 'poppins';
    color: #00235f;
}
section.cta .image img.badge{
    position: absolute;
    width: 5rem;
    top: 2rem;
    right: -1rem;
    background-color: #FFFFFF;
    border-radius: 1000px;
    padding: 0.2rem;
    animation: rotate 15s linear infinite;
}
@keyframes rotate {
    0%{transform: rotate(0deg);}
    100%{transform: rotate(360deg);}
}
section.cta .image div.shadow{
    display: none;
}



section.products{
    padding: 10vh 6vw;
}
section.products .tag{
    display: flex;
    align-items: center;
    width: fit-content;
    padding-right: 10px;
    border-radius: 100px;
    background-color: #00235f;
    position: relative;
    margin-inline: auto;
}
section.products .tag p{
    font: 600 0.8rem 'Poppins';
    color: #FFFFFF;
}
section.products h2{
    font: 500 2rem 'poppins';
    color: #00235f;
    text-align: center;
    margin-top: 1rem;
}
section.products h2 span{
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.products .wrapper{
    margin-top: 2rem;
}
section.products .wrapper .item{
    width: 100%;
    padding: 0.5rem;
    background-color: #FFFFFF;
    border-radius: 10px;
    margin-top: 1rem;
    transition: all 300ms;
}
section.products .wrapper .item:hover{
    transform: scale(1.1);
    box-shadow: 0px 0px 15px 7px rgba(0, 0, 0, 0.062);
}
section.products .wrapper .item img{
    width: 100%;
    background-color: #f5f5f5;
}
section.products .wrapper .item p.title{
    font: 500 1.2rem 'poppins';
    margin-top: 1rem;
}
section.products .wrapper .item p.description{
    color: #7b809e;
    font: 500 1rem 'poppins';
}
section.products a.button{
    display: block;
    margin-top: 4rem;
    border-radius: 100px;
    padding: 1rem;

    font: 400 1rem 'poppins';
    text-align: center;
    
    color: #FFFFFF;
    background-color: #00235f;
}
section.products a.button:hover{
    background-color: #FF2A5A;
    transition: all 300ms;
}



section.testimonials{
    padding: 10vh 6vw;
    background-color: #FFFFFF;
}
section.testimonials .header{
    display: none;
}
section.testimonials .tag{
    display: flex;
    align-items: center;
    width: fit-content;
    padding-right: 10px;
    border-radius: 100px;
    background-color: #00235f;
    position: relative;
}
section.testimonials .tag p{
    font: 600 0.8rem 'Poppins';
    color: #FFFFFF;
}
section.testimonials .title{
    display: flex;
    align-items: end;
    
    margin-top: 1rem;
}
section.testimonials .title h2{
    font: 500 1.8rem 'poppins';
    color: #00235f;
}
section.testimonials .title h2 span{
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.testimonials .title img{
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.2rem;
}
section.testimonials .wrapper img{
    width: 100%;
    margin-top: 1rem;
}



section.stats{
    padding: 10vh 6vw;
}
section.stats .tag{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    padding: 10px;
    border-radius: 100px;
    background-color: #FFFFFF;
    position: relative;
    margin-inline: auto;
}
section.stats .tag p{
    font: 600 0.8rem 'Poppins';
    color: #FF2A5A;
}
section.stats h2{
    font: 500 1.8rem 'poppins';
    text-align: center;
    color: #00235f;
    margin-top: 2rem;
}
section.stats h2 span{
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.stats .wrapper .card{
    padding: 0.5rem;
    border-radius: 10px;
    background-color: #FFFFFF;
    margin-top: 2rem;
    box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.096);
}
section.stats .wrapper .card img{
    width: 100%;
}
section.stats .wrapper .card p.title{
    font: 500 1.2rem 'poppins';
    margin-top: 1rem;
}
section.stats .wrapper .card p.description{
    font: 500 1rem 'poppins';
    color: #7b809e;
    margin-top: 0.5rem;
}



section.news{
    padding: 10vh 6vw;
    background-color: #FFFFFF;
}
section.news .tag{
    display: flex;
    align-items: center;
    width: fit-content;
    padding-right: 10px;
    border-radius: 100px;
    background-color: #00235f;
    position: relative;
}
section.news .tag p{
    font: 600 0.8rem 'Poppins';
    color: #FFFFFF;
}
section.news .title{
    display: flex;
    align-items: end;
    margin-top: 1rem;
}
section.news .title h2{
    margin-top: 2rem;
    font: 500 1.8rem 'poppins';
    color: #00235f;
}
section.news .title h2 span{
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.news .title img{
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.2rem;
}
section.news .wrapper .item{
    background-color: #f5f5f5;
    padding: 1rem;
    border-radius: 15px;
    margin-top: 1rem;
}
section.news .wrapper .item .header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
section.news .wrapper .item .header img{
    height: 1.2rem;
}
section.news .wrapper .item .header .tag{
    padding: 0.3rem;
    gap: 0.3rem;
    background-color: #FFFFFF;
}
section.news .wrapper .item .header .tag p{
    color: #FF2A5A;
}
section.news .wrapper .item p.paragraph{
    color: #494949;
    margin-top: 2rem;
    font: 400 1rem 'poppins';
}
section.news .wrapper .item a{
    display: block;
    margin-top: 1rem;
    color: #FF2A5A;
    font: 400 1rem 'poppins';
}
section.news .wrapper .item a:hover{
    color: #ff6b8d;
    transition: all 300ms;
}



section.faq{
    padding: 10vh 6vw;
}
section.faq .tag{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    padding: 10px;
    border-radius: 100px;
    background-color: #FFFFFF;
    position: relative;
}
section.faq .tag p{
    font: 600 0.8rem 'poppins';
    color: #FF2A5A;
}
section.faq .wrapper .text h2{
    margin-top: 2rem;
    font: 500 1.8rem 'poppins';
    color: #00235f;
}
section.faq .wrapper .text h2 span{
    background: linear-gradient(to top, #ff5f84 40%, transparent 10%);
}
section.faq .wrapper .text p.subtitle{
    font: 500 1rem 'poppins';
    margin-top: 1rem;
    color: #494949;
}
section.faq .wrapper .questions{
    margin-top: 2rem;
}
section.faq .wrapper .questions details{
    background-color: #FFFFFF;
    padding: 1rem;
    border-radius: 10px;
    margin-top: 1rem;
}
section.faq .wrapper .questions details summary{
    font: 500 1.2rem 'poppins';
    color: #494949;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
}
section.faq .wrapper .questions details summary::marker{
    content: "";
    font-size: 0;
    color: transparent;
    opacity: 0;
}
section.faq .wrapper .questions details summary span::after{
    content: '>';
    color: #FF2A5A;
    font-size: 1.6rem;
}
section.faq .wrapper .questions details summary span{  
    transform:rotate(90deg);
}
section.faq .wrapper .questions details[open] summary span{
    transform: rotate(270deg);
}
section.faq .wrapper .questions details p.paragraph{
    font: 500 1rem 'poppins';
    color: #7b809e;
    margin-top: 1rem;
}
section.faq .wrapper .questions a{
    display: block;
    font: 500 1rem 'poppins';
    color: #FF2A5A;
    margin-top: 2rem;
}
section.faq .wrapper .questions a:hover{
    color:#ff6b8d;
    transition: all 300ms;
}



.banner{
    --strip1: #1a325e ;
    --strip2: #11264b ;
    position: relative;
    overflow: hidden;
    padding: 1rem;
    margin: 10vh 6vw;
    border-radius: 10px;
    background-color: #00235f;
    background: linear-gradient(
        315deg,          
        var(--strip1) 0%,
        var(--strip1) 8%,       
        var(--strip2) 8%,
        var(--strip2) 16%, 
        #021331 16%,       
        #00235f 100%       
    );
}
.banner .shadow{
    position: absolute;
    box-shadow: 0px 0px 200px 70px #FF2A5A;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.banner img:first-child{
    display: none;
}
.banner .text p.title{
    font: 500 1.5rem 'poppins';
    color: #FFFFFF;
}
.banner .text p.title span{
    background: linear-gradient(to top, #5f6fff 40%, transparent 10%);
}
.banner .text .second-title{
    display: flex;
    align-items: end;
    position: relative;
    margin-top: 0.5rem;
}
.banner .text .second-title p{
    font: 400 1.5rem 'poppins';
    color: #FFFFFF;
    width: 60%;
    text-align: justify;
}
.banner .text .second-title img{
    width: 2.5rem;
    position: absolute;
    left: 50%;
}
.banner .text p.subtitle{
    font: 400 1rem 'poppins';
    color: #FFFFFF;
    margin-top: 2rem;
}
.banner a{
    padding: 1rem;
    background-color: #FF2A5A;
    border-radius: 100px;
    display: block;
    margin-top: 2rem;
    color: #FFFFFF;
    text-align: center;
    font: 400 0.8rem 'poppins';
    position: relative;
    z-index: 1;
}
.banner a:hover{
    background-color: #ff5f84;
    transition: all 300ms;
}



footer{
    margin: 10vh 6vw 4vh;
    background-color: #00235f ;
    padding: 2rem;
    border-radius: 15px;
}
footer .brand img{
    height: 1.5rem;
}
footer .brand p{
    font: 400 1rem 'poppins';
    color: #7b809e;
    margin-top: 2rem;
}
footer .links{
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
}
footer .links nav{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 50%;
}
footer .links nav p{
    font: 500 1rem 'poppins';
    color: #7b809e;
}
footer .links nav a{
    font: 500 1rem 'poppins';
    color: #FFFFFF;
}
footer .links nav a:hover{
    color: #FF2A5A;
    transition: all 300ms;
}
footer .social-media.desktop{
    display: none;
}
footer .social-media{
    display: flex;
    align-items: center;
    margin-top: 2rem;
}
footer .social-media p{
    width: 50%;
    color: #7b809e;
    font: 500 1rem 'poppins';
}
footer .social-media .icons {
    display: flex;
    gap: 1rem;
}
footer .social-media .icons .icon{
    background-color: #FF2A5A;
    padding: 0.5rem;
    border-radius: 100px;
    position: relative;
    height: 2rem;
    width: 2rem;
}
footer .social-media .icons .icon:hover{
    background-color: #ff5f84;
    transform: scale(1.2);
    transition: all 300ms;
}
footer .social-media .icons img{
    width: 1.2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
footer .bottom{
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #7b809e;
}
footer .bottom p{
    margin-top: 0.5rem;
    font: 400 0.8rem 'poppins';
    color: #7b809e;
}


/* UI  =====================*/
/* MOBILE BUTTON */
header .container .menu{
    width: 30px;
    height: 25px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
header .container .menu div.stick{
    height: 3px;
    width: 100%;
    position: absolute;
    left: 0;
    border-radius: 10px;
    background-color: #00235f;
    transition: all 300ms;
}
header .container .menu div.stick:nth-child(1){
    top: 0;
    transform: rotateX(-45deg);
}
header .container .menu div.stick:nth-child(2){
    top: 50%;
    transform: translateY(-50%);
}
header .container .menu div.stick:nth-child(3){
    bottom: 0;
}
header .container .menu.open div.stick:nth-child(1){
    top: 50%;
    transform: rotate(45deg);
}
header .container .menu.open div.stick:nth-child(2){
    opacity: 0;
}
header .container .menu.open div.stick:nth-child(3){
    bottom: 40%;
    transform: rotate(-45deg);
}



/* spinner */ 
.spinner {
    --size: 7px;
    --first-block-clr: #ff6b8d;
    --second-block-clr: #FF2A5A;
    --clr: #111;
    position: relative;
    width: 20px;
    height: 20px;
}

.spinner::after,.spinner::before {
box-sizing: border-box;
position: absolute;
content: "";
width: var(--size);
height: var(--size);
top: 50%;
animation: up 4s cubic-bezier(0, 0, 0.24, 1.21) infinite;
left: 50%;
background: var(--first-block-clr);
}

.spinner::after {
background: var(--second-block-clr);
top: calc(50% - var(--size));
left: calc(50% - var(--size));
animation: down 4s cubic-bezier(0, 0, 0.24, 1.21) infinite;
}

@keyframes down {
0%, 100% {
 transform: none;
}

25% {
 transform: translateX(100%);
}

50% {
 transform: translateX(100%) translateY(100%);
}

75% {
 transform: translateY(100%);
}
}

@keyframes up {
0%, 100% {
 transform: none;
}

25% {
 transform: translateX(-100%);
}

50% {
 transform: translateX(-100%) translateY(-100%);
}

75% {
 transform: translateY(-100%);
}
}




/*strip*/
.strip{
    display: flex;
    gap: 1rem;
    align-items: center;
    width: max-content;
    border-block: 2px solid #7777771e;
    padding-block: 2rem;
    animation: slide 15s linear infinite;
    overflow: hidden !important;
}
.strip p{
    font: 500 1rem 'poppins';
    color: #00235f;
    width: 22rem;
    text-align: center;
}
.strip img{
    width: 1rem;
}
@keyframes slide{
    0%{transform: translate(calc((23rem + 2rem) * (-1)));}
    100%{transform: translate(calc((23rem + 2rem) * (-5)));}
}



img.logogif{
    width: 3rem;
}