:root{
    --max-width: 75rem;
    --padding: clamp(2rem, calc(2rem + 3vw), 3rem);
    --separacion: clamp(.8rem, calc(.8rem + 2vw), 1.5rem);
    --color-primario: #2b2b2b;
}
html{
    font-size: 100%;
    box-sizing: border-box;
}
*, ::before, ::after{
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
}
img{
    max-width: 100%;
    display: block;
}
a{
    color: inherit;
}
body{
    font-size: 1rem;
    line-height: 1.8;
    display: flex;
    flex-direction: column;
    font-family: "Noto Sans Display", sans-serif;
    height: 100dvh;
    align-items: center;
    justify-content: center;
    color: var(--color-primario);
    background: url(../img/background.svg) no-repeat center;
    background-size: cover;
}
.header{
    max-width: var(--max-width);
    width: 90%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--padding) 0;
}

.header__logo img{
    width: clamp(10rem, calc(10rem + 3vw), 20rem);
}

.main{
    max-width: var(--max-width);
    width: 90%;
    margin: 0 auto;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.main__heading{
    font-size: clamp(1.5rem, calc(1.5rem + 3vw), 3.3rem);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: var(--separacion);
    text-wrap: balance;
}

.main__text{
    font-size: 1.25rem;
    margin-bottom: var(--separacion);
}

.barra{
    width: 100%;
    height: 1.5rem;
    border-radius: 1.5rem;
    overflow: hidden;
    background-color: #f0f1f6;
    box-shadow: 5px 5px 10px rgb(1 1 1 /.1);
}


@media screen and (min-width: 768px) {
    .barra{
        width: 50%;
    }
    
}

.barra__content{
    width: 0%;
    height: 1.5rem;
    border-radius: 2rem;
    background-image: linear-gradient(to right, #9100fb, #02b7f3);
    animation: progressbar 7s linear infinite;
}

@keyframes progressbar {
    0%{width: 0%;}
    100%{width: 70%;}
}


.footer{
    padding: var(--padding) 0;
    max-width: var(--max-width);
    width: 90%;
    margin: 0 auto;
}

.footer__links{
    width: 100%;
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: center;
}

@media screen and (min-width: 768px) {
    .footer__links{
        justify-content: flex-start;
    }
}