@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap');

@font-face {
    font-family: Bold, Fat, Retro, Serif, Slab, Western, Wood Type, Woodcut;
    src: url(fuentes/ChunkFive-Regular.otf);
}


html{
    scroll-behavior: smooth;
    margin: 0;
    padding:0;
    overflow-x: hidden;
}


body {
    
    background-image: linear-gradient(to bottom, #968990, #908b96, #888d99, #819099, #7e9294, #7e9294, #7e9294, #7e9294, #819099, #888d99, #908b96, #968990);margin: 0;
    overflow-x: hidden;
}

header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
}

.navbar {
    display: flex;
    align-items: center;
    background-image: linear-gradient(
    to bottom, 
    rgba(150, 137, 144, 0.2), /* #968990 con opacidad del 50% */
    rgba(144, 139, 150, 0.2), /* #908b96 con opacidad del 50% */
    rgba(136, 141, 153, 0.2), /* #888d99 con opacidad del 50% */
    rgba(129, 144, 153, 0.2), /* #819099 con opacidad del 50% */
    rgba(126, 146, 148, 0.2), /* #7e9294 con opacidad del 50% */
    rgba(126, 146, 148, 0.2),
    rgba(126, 146, 148, 0.2),
    rgba(126, 146, 148, 0.2),
    rgba(129, 144, 153, 0.2),
    rgba(136, 141, 153, 0.2),
    rgba(144, 139, 150, 0.2),
    rgba(150, 137, 144, 0.2)
);
    box-shadow: 3px 3px  rgba(237, 235, 218, 255);
    padding: 0.625rem 1.875rem;
    font-size: clamp(0.8rem, 2.5vw, 2.188rem);
}
.navbar ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    justify-content: flex-end;
    flex-grow: 1;
}

.navbar li {
    margin-left: 1rem;
}

.navbar ul li :hover{
    background-color: rgba(255, 255, 255, 0.26);
    transform: scale(1.05);
    border-radius: 10%;
}

.navbar a {
    text-decoration: none;
    color: rgba(237, 235, 218, 255);
    font-weight: bold;
    transition: color 0.2.8s;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-top: 5px;
}

.navbar a:hover {
    background-color: rgba(255, 255, 255, 0);
    transform: scale(1.05);
    border-radius: 10%;
}
.navbar .logo a:hover {
    background-color: #ffffff00;
}
.logo img {
    width: clamp(9rem, 11vw, 20rem);
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-top: 5px;
}
.nav-links {
    display: flex;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.menu-toggle {
    right: 0;
    display: none;
    font-size: 30px;
    background: none;
    border: none;
    color: rgba(237, 235, 218, 255);
    cursor: pointer;
}

section {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(237, 235, 218, 255);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.hero {
    background-image: url('img/ImagenPrincipal.jpg');
    background-position: center top;
    background-size: cover;
    letter-spacing: 5px;
    max-width: 100%;
}
.hero-text {
    text-align: center;
}

.hero-text h1 {
    margin: 0;
    font-size: clamp(1rem, 10vw, 8rem);
    transform: translateY(50px);
}

.hero-text p {
    transform: translateY(90px);
    font-size: clamp(0.5rem, 2.5vw, 1.5rem);

}

h2 {
    margin-top: 0;
}


 /* SECCION ABOUT*/


 .about {
    position: relative;
    font-size: clamp(0.8rem, 2.5vw, 2.188rem);
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    max-width: 100%;
}

.about h2 {
    position: absolute; 
    top: 10%; 
    left: 50%; 
    transform: translateX(-50%) translateY(0); 
    text-align: center; 
    color: rgba(237, 235, 218, 255); 
    font-size: clamp(1.5rem, 3vw, 7rem);
    margin-top: 2rem; 
}


.about .container {
    max-width: 100%;
    text-align: right;
    padding-right: 0.780rem;
}

.about img {
    position: absolute;
    left: 0;
    top: 25%; 
    height: auto; 
    max-height: 75vh; 
    width: 28%; 
    object-fit: cover; 
}


.about p {
    margin-right: 0;
    padding-right: 1.3;
}


/* SECCION GALLERY*/

.gallery {
    margin: auto;
    padding: 2rem 1rem;
    max-width: 100%;
}



.gallery .container h2 {
    position: relative;
    left: 0;
    top: 4%;
    text-align: center;
    color: rgba(237, 235, 218, 255);
    font-size: clamp(1.5rem, 3vw, 7rem);
}
.gallery h2 {
    align-items: center;
    font-size: clamp(1.5rem, 3vw, 7rem);
    top: 4%;
}

.gallery-wrapper {
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    gap: 0;
}
.gallery-grid::-webkit-scrollbar{
    display: none;
}
.gallery-grid {
    position: relative;
    padding-left: 5%; 
    gap: 2%;
    display: flex;
    flex-wrap: nowrap;
    transition: transform 0.3s ease;
    overflow-x: auto;
}

.gallery-grid a {
    flex: 0 0 20%; 
    margin-right: 1%; 
    max-width: 25rem; 
    box-sizing: border-box; 
}


.gallery-grid img {
    width: 100%;
    height: auto;
}
.espaciador{
    min-width: 50px;
}


button {
    background-color: rgba(41, 40, 40, 0.021);
    border: 2px solid rgba(41, 40, 40, 0.021);
    border-radius: 5px;
    cursor: pointer;
    color: rgba(237, 235, 218, 255);
    font-size: 24px;
    padding: 0.625rem 0.938rem;
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    z-index: 1;
}

button.prev {
    left: 0.625rem;
}

button.next {
    right: 0.625rem;
}

button:hover {
    background-color: rgba(255, 255, 255, 0.041);
    transform: scale(1.05);
}
.image-title {
    text-align: center;
    color: white;
    font-size: 1.25rem;
    margin-top: 5px;
    background-color: rgba(78, 74, 65, 0.5);
    padding: 0px;
    border-radius: 5px;
    width: 100%;
    position: relative;
    display: inline-block;
    z-index: 5;
    margin-top: 5px;
}

.gallery-grid a {
    text-decoration: none;
}


/* SECCION CONTACT */

.contact {
    text-align: center;
    padding: 2rem 1rem;
    font-size: 20px;
    text-decoration: none;
    list-style-type: none;
    flex-grow: 1;
    max-width: 100%;
}

.contact-section h2{
    font-size: clamp(1.5rem, 3vw, 7rem);
    text-align: center;
    margin-bottom: 90px;
    padding: 0;
    display: block;
    top: 4%;
}


.contact-section {
    font-size: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.contact-buttons {
    display: flex;
    gap: 20px; 
}


.contact-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    font-size: 28px;
    text-decoration: none;
    color: rgb(0, 0, 0);
    background-color: #ffffff; 
    border: 2px solid #ffffff; 
    border-radius: 50px; 
    transition: all 0.3s ease; 
    width: 150px; 
    justify-content: center;
    text-align: center;
}


.contact-button:hover {
    background-color: white; 
    transform: scale(1.1); 
}


.contact-button.instagram {
    color: black;
    background-color: #ffffff; 
}

.contact-button.instagram:hover {
    background-color: white;
    color: #000000
}


.contact-button.gmail {
    background-color: #ffffff; 
    border-color: #ffffff; 
}

.contact-button.gmail:hover {
    background-color: white;
    color: #000000;
}


.contact-button i {
    margin-right: 8px; 
}

.contact-row {
    display: flex; 
    align-items: center; 
    gap: 5%; 
    font-size: clamp(0.5rem, 3vw, 1.8rem); 
}


.contact-row a {
    flex-shrink: 0; 
    display: inline-block; 
    text-decoration: none; 
    font-weight: bold; 
    background-color: #f4f4f4; 
    padding: 3% 4%; 
    border-radius: 22%; 
    color: #333; 
    font-size: clamp(0.4rem, 3vw, 1rem); 
    text-align: center; 

}


.contact-section p {
    margin: 0; 
    font-size: clamp(1rem, 3.5vw, 3rem); 
    color: 237, 235, 218, 255; 
}


/* SECCION FOOTER */

.footer {
    background-color: #1a1a1a;
    color: #f8f8f8;
    padding: 30px 0;
    text-align: center;
  }
  
  .footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }
  
  .footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
  }
  

  .footer-about {
    flex: 1;
    max-width: 300px;
    margin-bottom: 40px;
  }
  
  .footer-title {
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
  }
  
  .footer-description {
    font-size: 16px;
    color: #bbb;
    line-height: 1.6;
    margin-top: 15px;
  }
  

  .footer-links {
    flex: 1;
    max-width: 300px;
    margin-bottom: 40px;
  }
  
  .footer-subtitle {
    font-size: 22px;
    font-weight: 600;
    color: #f8f8f8;
  }
  
  .footer-list {
    list-style: none;
    padding: 0;
    color: #bbb;
  }
  
  .footer-list li {
    margin-bottom: 10px;
  }
  
  .footer-list li a {
    color: #bbb;
    text-decoration: none;
    transition: color 0.3s;
  }
  
  .footer-list li a:hover {
    color: #ffffff;
  }
  

  .footer-socials {
    flex: 1;
    max-width: 300px;
    margin-bottom: 40px;
  }
  
  .footer-social-icons {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
  }
  
  .footer-social-icons li {
    display: inline-block;
  }
  
  .footer-social-icons a {
    color: #bbb;
    font-size: 18px;
    text-decoration: none;
    transition: color 0.3s;
  }
  
  .footer-social-icons a:hover {
    color: #f8f8f8;
  }
  

.footer-newsletter {
    flex: 1;
    max-width: 300px;
    margin-bottom: 40px;
  }
  

.footer-newsletter-form {
    display: block; 
    margin-top: 20px; 
    text-align: center;
  }
  

.footer-newsletter-form input {
    padding: 12px 20px;
    border: 1px solid #ccc;
    border-radius: 25px;
    margin-bottom: 10px;
    width: 100%;  
    max-width: 280px; 
    box-sizing: border-box;
  }
  

.footer-newsletter-form button {
    background-color: #f8f8f8;
    color: #333;
    padding: 12px 20px;
    border: 1px solid #ccc;
    border-radius: 25px;
    cursor: pointer;
    width: 100%;  
    max-width: 280px;       
    box-sizing: border-box; 
    display: block; 
    margin: 0 auto; 
  }
  

.footer-newsletter-form button:hover {
    background-color: #ddd;
  }


  .footer-legal {
    margin-top: 40px;
    font-size: 14px;
    color: #bbb;
  }
  
  .footer-legal p {
    margin: 5px 0;
  }
  
  .footer-legal a {
    color: #bbb;
    text-decoration: none;
  }
  
  .footer-legal a:hover {
    color: #f8f8f8;
  }
  
  .contact-buttons {
    display: flex;
    flex-direction: column; 
    gap: 50px;
}

@media (max-width:768px){
    .nav-links {
        right: 0;
        display: none; 
        flex-direction: column; 
        background: rgba(153, 153, 153, 0.466);
        position: absolute;
        top: 72.5px; 
        border-bottom-left-radius: 20%; /* Bordes redondeados solo en las esquinas inferiores */
        border-bottom-right-radius: 20%;
        padding: 20px 0;
        z-index: 1000;
        font-size: 30px;
    }

    .nav-links.show {
        display: flex; 
    }

    .menu-toggle {
        display: block;
    }
    .logo img{
        right: 0;
        transform: translateX(-25%);
    }

}
@media (max-width:722px){
    body {
        display: block; /* Cambia a diseño de bloque */
    }
    body {
        flex-direction: column; /* Cambia las secciones a columnas */
        gap: 0; /* Elimina el espacio entre secciones */
    }
    .nav-links {
        right: 0;
        display: none; 
        flex-direction: column; 
        background: rgba(153, 153, 153, 0.466);
        position: absolute;
        top: 72.5px;  
        border-bottom-left-radius: 20%; /* Bordes redondeados solo en las esquinas inferiores */
        border-bottom-right-radius: 20%;
        padding: 20px 0;
        z-index: 1000;
        font-size: 30px;
    }

    .nav-links.show {
        display: flex;
    }
    .contact-section{
        height: 40vh;
    }

    .gallery{

        height: 72vh;
    }
    .about{

        height: 72vh;
    }

    .menu-toggle {
        display: block;
    }

    .about p{
        font-family: 'Arial Narrow Bold', sans-serif;
        width: 100%;
        font-size: clamp(12px, 3vw, 22px);
        position: absolute;
        right: 50%; 
        top: clamp(50%, 3vw, 70%); 
        transform: translate(50%, -50%);
        text-align: center;
        padding: 4px;
    }

    .about img {
        margin-top: 20px;
        content: url('img/ValePNG3.jpg');
        width: clamp(50%, 4vw, 100%);
        transform: translate(-50%, -50%);
        top: 90%;
        left: 50%;
        height: auto;
        object-fit: cover; 
        border: 1px solid #fff;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
        object-position:0px 0px; 
        max-height: 40vh;        
    }

    .gallery-grid img {
        width: 100%;
        height: auto;
    }

    .gallery-grid a {
        flex: 0 0 220px;
        margin-right: 0;
    }

    .gallery-grid {
        position: relative;
        gap: 1.3rem;
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.3s ease;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding-left: 30px;  
        padding-right: 30px; 
        width: calc(60% - 80px); 
    }

    .gallery-wrapper {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;

    }
    .about, .gallery, .contact-section {
        min-height: auto; /* Elimina restricciones fijas */
        padding: 20px; /* Ajusta el espacio interno */
    }
    .contact-section{
        transform: translateY(-20%);
    }
    /* Centrar títulos h2 */
    .about h2,
    .gallery h2,
    .contact-section h2 {
        width: 100%; /* Asegura que ocupe todo el ancho disponible */
        text-align: center; /* Centra el texto */
        position: static; /* Elimina posicionamiento absoluto */
        transform: none; /* Elimina transformaciones */
        margin: 0 auto; /* Centra el bloque */
        padding: 10px 0; /* Espaciado vertical */
    }
    .about h2{
        position: absolute;
        left: 50%;
        margin-top: 10%;
        transform: translate(-50%);
    }
}

@media (max-width:499px){

    .nav-links {
        right: 0;
        display: none; 
        flex-direction: column; 
        background: rgba(153, 153, 153, 0.466);
        position: absolute;
        top: 72.5px; 
        border-bottom-left-radius: 20%; /* Bordes redondeados solo en las esquinas inferiores */
        border-bottom-right-radius: 20%;
        padding: 20px 0;
        z-index: 1000;
        font-size: 30px;
    }

    .nav-links.show {
        display: flex; 
    }

    .menu-toggle {
        display: block;
    }

    .about h2{
        margin-top: 15%;
    }


    .about p{
        font-size: clamp(12px, 3vw, 22px);
        top: 45%;

    }
    .about img {
        content: url('img/ValePNG3.jpg');
        margin-top: 0;
        width: clamp(70%, 4vw, 100%);
        max-height: 36vh;      
    }

    .gallery-grid img {
        width: 100%;
        height: auto;
    }

    .gallery-grid a {
        flex: 0 0 220px;
        margin-right: 0;
    }

    .gallery-grid {
        position: relative;
        gap: 1.3rem;
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.3s ease;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding-left: 30px; 
        padding-right: 30px;
        width: calc(60% - 80px); 
    }

   
    .gallery-wrapper {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;

    }
    .contact-button {
        padding: 12px 20px;
        font-size: 24px;
        background-color: #ffffff; 
        border: 2px solid #ffffff; 
        border-radius: 1000px; 
        width: 120px; 
    }
}
@media (max-width:430px){
    .nav-links {
        right: 0;
        display: none; 
        flex-direction: column; 
        background: rgba(153, 153, 153, 0.466);
        position: absolute;
        top: 72.5px;  
        border-bottom-left-radius: 20%; /* Bordes redondeados solo en las esquinas inferiores */
        border-bottom-right-radius: 20%;
        padding: 20px 0;
        z-index: 1000;
        font-size: 30px;
    }

    .nav-links.show {
        display: flex; 
    }

    .menu-toggle {
        display: block; 
    }


    .about h2{
        margin-top: 20%;
    }
    
    .about p{
        top: 50%;
        font-size: clamp(12px, 3vw, 22px);
    }
    .about img {
        content: url('img/ValePNG3.jpg');

        max-height: 36vh;  
    }

    .gallery-grid img {
        width: 100%;
        height: auto;
    }

    .gallery-grid a {
        flex: 0 0 240px;
        margin-right: 0;
    }

    .gallery-grid {
        position: relative;
        gap: 1.3rem;
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.3s ease;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding-left: 30px;  
        padding-right: 30px; 
        width: calc(60% - 190px); 
    }


    .gallery-wrapper {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
}
@media ( max-width: 375px){
    .nav-links {
        right: 0;
        display: none; 
        flex-direction: column; 
        background: rgba(153, 153, 153, 0.466);
        position: absolute;
        border-bottom-left-radius: 20%; /* Bordes redondeados solo en las esquinas inferiores */
        border-bottom-right-radius: 20%;
        top: 72.5px; 
        padding: 20px 0;
        z-index: 1000;
        font-size: 30px;
    }

    .nav-links.show {
        display: flex; 
    }

    .menu-toggle {
        display: block; 
    }
    
    .about p{
        font-size: clamp(12px, 3vw, 22px);
        top: 45%;

    }


    .about img{

        max-height: 39vh; 
    }
    .gallery-grid img {
        width: 100%;
        height: auto;
    }

    .gallery-grid a {
        flex: 0 0 200px;
        margin-right: 0;
    }

    .gallery-grid {
        position: relative;
        gap: 1.3rem;
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.3s ease;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding-left: 30px; 
        padding-right: 30px; 
        width: calc(40% - 70px); 
    }


    .gallery-wrapper {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    .contact-button {
        padding: 12px 20px;
        font-size: 28px;
        background-color: #ffffff; 
        border: 2px solid #ffffff;
        border-radius: 1000px; 
        width: 100px; 
    }


}


@media (max-width:320px){
    .nav-links {
        right: 0;
        display: none; 
        flex-direction: column; 
        background: rgba(153, 153, 153, 0.466);
        position: absolute;
        top: 72.5px; 
        border-bottom-left-radius: 20%; /* Bordes redondeados solo en las esquinas inferiores */
        border-bottom-right-radius: 20%;
        padding: 20px 0;
        z-index: 1000;
        font-size: 30px;
    }

    .nav-links.show {
        display: flex; 
    }

    .menu-toggle {
        display: block; 
    }

    
    .about p{
        font-size: clamp(12px, 3vw, 22px);
        top: 50%;
    }
    

    .about img{
        content: url('img/ValePNG3.jpg');
        width: clamp(55%, 3vw, 70%);
        transform: translate(-50%, -50%);
        top: 90%; /* Centra verticalmente */
        left: 50%; /* Centra horizontalmente */
        height: auto;
        object-fit: cover; 
        border: 1px solid #fff;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
        object-position:0px 0px; 
        max-height: 36vh; 
    }
    .gallery-grid img {
        width: 100%;
        height: auto;
    }

    .gallery-grid a {
        flex: 0 0 200px;
        margin-right: 0;
    }

    .gallery-grid {
        position: relative;
        gap: 1.3rem;
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.3s ease;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding-left: 30px;  
        padding-right: 30px; 
        width: calc(49% - 100px); 
    }


    .gallery-wrapper {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    .contact-button {
        padding: 12px 20px;
        font-size: 28px;
        background-color: #ffffff; 
        border: 2px solid #ffffff; 
        border-radius: 1000px; 
        width: 90px; 
    }
}