@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500&family=Poppins:wght@400;500;700&family=Roboto:wght@400;700&family=WindSong:wght@400;500&display=swap');
/*
    font-family: 'Playfair Display', serif;
    font-family: 'Poppins', sans-serif;
    font-family: 'Roboto', sans-serif;
    font-family: 'WindSong', cursive;
*/

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;

    font-size: 16px;
}


body{
    display: flex;
    flex-direction: column;

    gap: 110.87rem;
}

main{
    display: flex;
    flex: 1;
}

.container{
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.logo{
    width: 3.75rem;
    opacity: .7;
}

.background{
    width: 100vw;
    background-image: url(../img/principal.jpg);
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
}

.title{

    display: flex;
    justify-content: center;
    flex-direction: column;

    padding: 12.5rem 18.75rem;
}

.title h1{
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    font-weight: 300;
}

/*-- Menu --*/

#menu{

    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100vw;
    padding: 1rem;

    background: transparent;
    
   position: fixed;

    font-family: 'WindSong', cursive;
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(0, 0, 0);
}

#menu.scroll{
    background: rgba(234,221,213,255);
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 1);
}

nav{
    display: flex;
    width: 100vw;

    justify-content: space-between;
}

nav ul{
    display: flex;
    gap: 1.5rem;

    font-family: 'Poppins', sans-serif;
    font-size: .875rem;
}


/*-- cards --*/

.cards{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin: 2rem;
}

.service{
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;
    text-align: center;

    height: 12.5rem;
    width: 12.5rem;
    padding: .75rem;

    gap: .125rem;

    border: 2px solid rgba(0, 0, 0, 0.041);
    border-radius: 8px;
    box-shadow: 0px 0px 12px rgb(0, 0, 0, 0.08);
}

.border{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    background-color: rgba(143, 132, 132, 0.782);
    width: 1.875rem;
    height: 1.875rem;

    border-radius: 50%;

    padding: 1.125rem;
}

.card{
    width: 1.5rem;
}

/* -- Gallery -- */

.ourGallery{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

    gap: 1.5rem;
    padding: 2rem;

    background-image: url(../img/background.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;

}

.text{
    width: 25rem;
}

.gallery{
    display: grid;

    gap: .75rem;
    align-content: center;
    justify-content: center;
    align-items: center;


    margin-top: 0;

    grid-template-areas:
     "girl girl ft1 ft2"
     "girl girl ft3 ft4"
     "ft6 ft7 bottom bottom";
}


.girl{
    width: 25.75rem;
    height: 25.56rem;
    grid-area: girl;
}

.ft1{
    grid-area: ft1;
    width: 12.5rem;
    height: 11.875rem;
}

.ft2{
    grid-area: ft2;
    width: 12.5rem;
    height: 11.875rem;
}

.ft3{
    grid-area: ft3;
    width: 12.5rem;
    height: 11.875rem;
}

.ft4{
    grid-area: ft4;
    width: 12.5rem;
    height: 11.875rem;
}

.ft6{
    grid-area: ft6;
    width: 12.5rem;
    height: 11.875rem;
}

.ft7{
    grid-area: ft7;
    left: 1.25rem;
    width: 12.5rem;
    height: 11.875rem;
}

.bottom{
    grid-area: bottom;
    width: 25.625rem;
    height: 11.875rem;
}

/*-- Subscribe --*/

.news{
    width: 100vw;
    background-image: url(../img/gly2.jpg);
    background-repeat: no-repeat;
    background-size: cover;

    display: flex;
    gap: 2rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 5.625rem 9.375rem;

    color: white;

}

.news h2{
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 200;
}

#email{
    width: 33.75rem;
    padding: .625rem;
    color: white;
    background: transparent;
    border: .125rem solid white;
    border-right: none;

}
#email::placeholder{
    color: white;
}

.button{
    padding: .75rem 1.5rem;
    color: #000;
    background-color: white;
    box-shadow: 0 0 0 0;
    border: none;
}

/*-- products --*/

.products{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    margin-top: 2rem;

    gap: 1.125rem;
}

.product{
    width: 9.375rem;
}

.listProducts{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin: 2rem;
}

.listProducts div{
    align-items: center;
    justify-content: center;
    text-align: center;

    gap: .375rem;
}

.listProducts div p{
    display: inline;
    font-size: .75rem;
    color: rgb(94, 88, 88);
}

.listProducts div p.for{
    margin-right: .25rem;
    color: rgb(223, 77, 77);
}

.sale{
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;

    height: 2.187rem;
    width: 2.187rem;
    background-color: rgb(8, 105, 203);
    border-radius: 50%;

    color: white;
    position: absolute;
   
    font-size: .937rem;
}
  
/*-- Contact --*/

.contact{
    display: flex;
    justify-content: space-evenly;
    padding: 6.25rem;

    gap: 12px;

    background: rgb(254, 244, 245);
    border-bottom: .0625rem solid rgb(0, 0, 0, 0.08);
}

.custome,
.company,
.social,
.archive{
    display: flex;
    flex-direction: column;
    gap: .625rem;
}

.custome div,
.company div,
.social div,
.archive div{
    display: flex;
    flex-direction: column;
    gap: .375rem;

    font-size: .75rem;
}

/*-- footer --*/

footer{

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
    background: rgb(254, 244, 245);

    border-top: .0625rem solid rgb(0, 0, 0, 0.08);


}

/*-- Back To Top --*/

.back-to-up{
    background: rgba(234,221,213,255);
    color: white;

    position: fixed;
    right: 1rem;
    bottom: 3rem;

    padding: 0.5rem;
    clip-path: circle();

    font-size: 1.5rem;
    line-height: 0;

    visibility: hidden;
    opacity: 0;

    transition: 0.3s;
    transform: translateY(100%);
}

.back-to-up.up{
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}


@media (max-width: 768px) {
    *{
        font-size: 12px;
    }

    
    .logo{
        width: 1.75rem;
        opacity: .7;
    }

    .background{
        height: 14rem;
    }

    .title{
        padding: 8.5rem 5.75rem;
    }
    
    .title h1{
        font-size: 1.25rem;
        font-weight: 300;
    }

    /*-- Menu --*/
    #menu{
        padding: .5rem;
        font-size: 1rem;
    }

    nav ul{
        gap: 1rem;
        font-size: .75rem;
    }

    /*-- cards --*/

    .cards{
        gap: 1rem;
    }

    .service{
        height: 6.25rem;
        width: 6.25rem;
        padding: .375rem;

    }

    .service h4{
        font-size: .5rem;
    }

    .service p{
        font-size: .4rem;
    }

    .border{
        width: .94rem;
        height: .94rem;
        padding: 1rem;
    }

    .card{
        width: 1rem;
    }

    /*-- Gallery --*/

    .ourGallery{
        gap: 1rem;
        padding: 1.5rem;
    }

    .text{
        width: 12.5rem;
    }

    .gallery{
        gap: 0.375rem;
    }

    .girl{
        width: 12.87rem;
        height: 12.75rem;
    }

    .ft1,
    .ft2,
    .ft3,
    .ft4,
    .ft6,
    .ft7{
        width: 6.25rem;
        height: 5.94rem;
    }

    .ft7{
        left: .625rem;
    }

    .bottom{
        width: 12.812rem;
        height: 5.94rem;
    }

    /*-- Subscribe --*/

    .news{
        gap: 1.5rem;

        padding:  2.812rem 4.69rem;
    }

    .news h2{
        font-size: .8rem;
    }

    #email{
        width: 16.875rem;
        padding: .312rem;
    }

    .button{
        padding: .375rem .75rem;
    }

    /*-- Products --*/
    .products{
        gap: .562rem;
    }

    .product{
        width: 4.68rem;
    }

    .listProducts{
        gap: .375rem;
    }

    .listProducts div{
        gap: .187rem;
    }

    /*-- Contact --*/
    .contact{
        padding: 1.125rem;
    }

    .custome,
    .company,
    .social,
    .archive{
        gap: .312rem;
    }

    .custome{
        width: 5rem;
        gap: .4rem;
    }

    .custome div,
    .company div,
    .social div,
    .archive div{
        gap: .187rem;

        font-size: .175rem;
    }
}