:root{
    --Pink: hsl(322, 100%, 66%);
    --LightPink: hsl(321, 100%, 78%);
    --LightRed: hsl(0, 100%, 63%);
    --VeryDarkCyan: hsl(192, 100%, 9%);
    --VeryPaleBlue: hsl(207, 100%, 98%);
    --White: hsl(0, 0%, 100%);
    --Grey: hsl(207, 5%, 65%);
}
html{
    font-size: 62.5%;
    box-sizing: border-box;
}
*,*::before,*::after{
    box-sizing: inherit;
}
picture img{
    width: 100%;
}
body{
    margin: 0;
    padding: 0;
    width: 100vw;
    min-height: 100vh;
    background-color: var(--White);
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
}
header{
    width: 100%;
    padding: 3rem 2rem 8rem 2rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
header img{
    width: 40%;
}
header a{
    padding: 1rem 2rem;
    border-radius: 5rem;
    border: solid 0.1rem var(--Pink);
    font-family: "Open Sans", serif;
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--Pink);
    cursor: pointer;
}
header a:hover{
    box-shadow: 0 0.2rem 1rem 0 var(--Pink);
}
main{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.principal, .numbers, .contopc, .contopc .opc, .ready{
    width: 100%;
    padding: 0 2rem 7rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.principal h1, .ready h3{
    font-family: "Poppins", serif;
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
    color: var(--VeryDarkCyan);
}
.principal p{
    font-family: "Open Sans", serif;
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 400;
    text-align: center;
    color: var(--VeryDarkCyan);
    padding: 0 3rem;
    margin: 0 0 2rem 0;
}
.botonstarted, footer a{
    padding: 1rem 2.5rem;
    border-radius: 5rem;
    background-color: var(--Pink);
    font-family: "Open Sans", serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.1rem;
    color: var(--VeryPaleBlue);
    box-shadow: 0 0.2rem 1rem 0 rgba(0,0,0,0.5);
    cursor: pointer;
}
.botonstarted:hover, footer a:hover{
    opacity: 70%;
}
.numbers{
    padding: 0 2rem;
    gap: 5rem;
}
.numbers .imgintro{
    width: 90%;
}
.numbers div img{
    width: 22%;
}
.numbers h2{
    font-family: "Poppins", serif;
    font-size: 6rem;
    font-weight: 700;
    text-align: center;
    color: var(--VeryDarkCyan);
    margin: 0;
}
.numbers p{
    font-family: "Open Sans", serif;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    color: var(--Grey);
}
.contopc, .contopc .opc{
    padding: 0rem;
    margin: 0;
}
.opc1, .opc3{
    background-color: var(--VeryPaleBlue);
}
.contopc .imgprin{
    width: 75%;
}
.contopc h3{
    font-family: "Poppins", serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    color: var(--VeryDarkCyan);
}
.contopc p{
    font-family: "Open Sans", serif;
    font-size: 1.4rem;
    line-height: 2rem;
    font-weight: 400;
    text-align: center;
    color: var(--VeryDarkCyan);
    padding: 0 3rem;
    margin: 0 0 2rem 0;
}
.contopc .opc1, .contopc .opc3{
    margin-top: -0.3rem;
    padding: 5rem 0;
}
.contopc .opc2 .imgprin{
    padding-top: 5rem;
}
.contopc .opc2 p{
    padding-bottom: 5rem;
}
.ready{
    padding: 0;
}
.ready h3{
    padding-top: 5rem;
}
.ready .picturefooter, .ready .picturefooter img{
    width: 100%;
    padding-top: 5rem;
}
footer{
    background-color: var(--VeryDarkCyan);
    margin-top: -0.5rem;
    padding: 4rem 2rem;
}
footer .first, footer .second{
    display: flex;
    flex-direction: column;
    align-items: left;
}
footer .first h4{
    font-family: "Poppins", serif;
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    color: var(--White);
}
footer .first p, footer .second p, footer .contact p{
    font-family: "Open Sans", serif;
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 600;
    color: var(--White);
    padding: 1rem 0;
}
footer .formu{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: end;
}
footer .formu input{
    width: 100%;
    font-family: "Open Sans", serif;
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 400;
    color: var(--VeryDarkCyan);
    border-radius: 1rem;
    border: none;
    padding: 1.5rem;
}
footer a{
    border-radius: 0.5rem;
    box-shadow: none;
    margin-top: 1rem;
}
footer .second{
    padding-top: 5rem;
}
footer .contact{
    width: 60%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}
footer .redes{
    width: 40%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
footer .redes img{
    width: 20%;
    border: none;
    cursor: pointer;
}
@media (min-width: 768px) {
    header{
        padding: 5rem 4rem 10rem 4rem;
    }
    header img{
        width: 35%;
    }
    header a{
        padding: 1rem 3rem;
        font-size: 1.8rem;
    }
    .principal{
        padding: 0 6rem 10rem 6rem;
    }
    .principal h1, .ready h3{
        font-size: 4.8rem;
    }
    .principal p{
        font-size: 2.6rem;
        line-height: 2.8rem;
    }
    .botonstarted, footer a{
        padding: 1.5rem 4rem;
        font-size: 2.2rem;
    }
    .numbers div img{
        width: 30%;
    }
    .numbers h2{
        font-size: 10rem;
    }
    .numbers p{
        font-size: 2.8rem;
    }
    .contopc .imgprin{
        width: 65%;
    }
    .contopc h3{
        font-size: 4.5rem;
    }
    .contopc p{
        padding: 0 7rem;
        font-size: 2.6rem;
        line-height: 2.8rem;
    }
    .contopc .opc1, .contopc .opc3{
        padding: 8rem 0;
    }
    .contopc .opc2 .imgprin{
        padding-top: 8rem;
    }
    .contopc .opc2 p{
        padding-bottom: 8rem;
    }
    .ready h3{
        padding: 0 6rem;
    }
    .ready .picturefooter, .ready .picturefooter img{
        padding-top: 10rem;
    }
    footer{
        padding: 8rem;
    }
    footer .first h4{
        font-size: 4.2rem;
    }
    footer .first p, footer .second p, footer .contact p{
        font-size: 2.6rem;
        line-height: 2.8rem;
    }
    footer .formu input{
        font-size: 2.6rem;
        line-height: 2.8rem;
    }
    footer a{
        margin-top: 2rem;
    }
    footer .contact{
        width: 55%;
    }
}

@media (min-width: 1024px) {
    header{
        padding: 5rem 4rem 8rem 4rem;
    }
    header img{
        width: 25%;
    }
    .principal{
        padding: 0 8rem 10rem 8rem;
    }
    .principal h1, .ready h3{
        font-size: 4rem;
    }
    .principal p{
        font-size: 2rem;
        line-height: 3rem;
    }
    .numbers{
        padding: 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        justify-items: center;
    }
    .numbers .imgintro{
        width: 70%;
        grid-column: 1/3;
    }
    .numbers div img{
        width: 20%;
    }
    .numbers h2{
        font-size: 8rem;
    }
    .numbers p{
        font-size: 2.4rem;
    }
    .numbers picture{
        grid-column: 1/3;
    }
    .contopc .imgprin{
        width: 80%;
    }
    .contopc .opc1, .contopc .opc3{
        padding: 4rem 0;
    }
    .contopc .opc1, .contopc .opc2, .contopc .opc3{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        column-gap: 2rem;
        padding: 0 3rem;
    }
    .contopc .opc1 img, .contopc .opc3 img{
        grid-row: 1/2;
        grid-column: 2/3;
    }
    .contopc .opc1 div{
        grid-row: 1/2;
        grid-column: 1/2;
    }
    .contopc .opc2 picture{
        grid-column: 1/3;
    }
    .contopc h3{
        text-align: left; 
    }
    .contopc p{
        text-align: left;
        padding: 0;
    }
    footer{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        padding: 8rem 2rem;
    }
    footer .first h4{
        font-size: 3.4rem;
    }
    footer .second{
        grid-row: 1/2;
        grid-column: 1/2;
    }
    footer .first p, footer .second p, footer .contact p, footer .formu input{
        font-size: 2rem;
    }
    footer .first p{
        padding-right: 15rem;
    }
    footer .formu{
        display: grid;
        grid-template-columns: 55% 40%;
        column-gap: 1.5rem;
    }
    footer .second{
        padding-top: 0;
    }
    footer .second img{
        width: 80%;
    }
    footer .contact img{
        width: 10%;
    }
    footer .redes img{
        width: 20%;
    }
}

@media (min-width: 1280px) {
    .principal p{
        font-size: 2.4rem;
        width: 75%;
    }
    .numbers{
        width: 80%;
    }
    .contopc .opc1, .contopc .opc2, .contopc .opc3{
        padding: 0 10rem;
    }
    footer{
        padding: 8rem 15rem;
    }
}

@media (min-width: 1728px) {
    header img{
        width: 20%;
    }
    .principal h1, .ready h3{
        font-size: 5rem;
    }
    .principal p{
        font-size: 3rem;
        line-height: 4rem;
        width: 60%;
    }
    footer{
        padding: 8rem 25rem;
    }
}