/*****************************************************************************************
******************************************************************************************
                                    ¡¡¡CONTACT US PAGE!!!
******************************************************************************************
******************************************************************************************/

/********************************************
                Contact Section
*********************************************/
.contact_section{
    position: relative;
    min-height: 70vh;
    padding: 10px 100px;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 150px;
}

.contact_section .contact_text h2{
    font-size: 50px;
    font-weight: 500;
    color: #000000;
}

.contact_section .contact_text p{
    font-weight: 300;
    color: #000000;
}

.contact_container{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

.contact_container .contact_info{
    width: 50%;
    display: flex;
    flex-direction: column;
}

.contact_box{
    position: relative;
    padding: 20px 0;
    display: flex;
}

.contact_icon{
    min-width: 60px;
    height: 60px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-size: 22px;
}

.contact_text_info{
    display: flex;
    margin-left: 20px;
    font-size: 16px;
    color: #000;
    flex-direction: column;
    font-weight: 300;
}

.contact_text_info h3{
    font-weight: 500;
    color: #262401;
}

.contact_form{
    border-radius: 15px;
    width: 40%;
    padding: 40px;
    background: #fff;
}

.contact_form h2{
    font-size: 30px;
    color: #333;
    font-weight: 500;
}

.input_box{
    position: relative;
    width: 100%;
    margin-top: 10px;
}

.input_box input,
.input_box textarea{
    width: 100%;
    padding: 5px 0;
    font-size: 16px;
    margin: 10px 0;
    border: none;
    border-bottom: 2px solid #333;
    outline: none;
}

.input_box span{
    position: absolute;
    left: 0;
    padding: 5px 0;
    font-size: 16px;
    margin: 10px 0;
    pointer-events: none;
    transition: 0.5s;
    color: #666;
}

.contact_form .input_box input:focus ~ span,
.contact_form .input_box input:valid ~ span,
.contact_form .input_box textarea:focus ~ span,
.contact_form .input_box textarea:valid ~ span{
    color: rgb(146, 71, 71);
    font-size: 12px;
    transform: translateY(-20px);
}

.contact_form .input_box input[type="submit"]{
    width: 100px;
    background: #262401;
    color: #f2ede4;
    border: none;
    cursor: pointer;
    padding: 10px;
    font-size: 18px;
}

@media (max-width: 991px)
{
    .contact_section
    {
        padding: 50px;
    }
    .contact_container{
        flex-direction: column;
    }
    .contact_info{
        margin-bottom: 40px;
    }
    .contact_info, .contact_form{
        width: 100%;
    }
}


.contact_box {
    opacity: 0; /* Inicia con opacidad 0 para la animación */
    animation: fadeInFromLeft 1s forwards; /* Define la animación */
}

@keyframes fadeInFromLeft {
    from {
        opacity: 0;
        transform: translateX(-50px); /* Desplaza -50px a la izquierda al inicio */
    }
    to {
        opacity: 1;
        transform: translateX(0); /* Sin desplazamiento al final */
    }
}


/* Estilos para dispositivos de hasta 767px de ancho */
@media (max-width: 767px) {
    .contact_section {
        padding: 30px 30px; /* Reduce el relleno */
        margin-top: 100px; /* Ajusta el margen superior */
    }

    .contact_container {
        flex-direction: column; /* Cambia la dirección de los elementos */
    }

    .contact_info,
    .contact_form {
        width: 100%; /* Ancho completo para ambos elementos */
    }

    .contact_box,
    .contact_form {
        padding: 10px; /* Ajusta el relleno */
    }

    .mapa_contact {
        padding: 10px 20px; /* Reduce el relleno */
    }

}

/* Estilos para dispositivos entre 768px y 991px de ancho */
@media (min-width: 768px) and (max-width: 991px) {
    .contact_section,
    .mapa_contact {
        padding: 20px; /* Ajusta el relleno */
    }
}
/* Estilos para dispositivos de hasta 767px de ancho */
@media (max-width: 767px) {
    .mapa_contact {
        max-width: 750px; /* Ancho máximo del contenedor */
        margin: 0 auto; /* Centra el contenedor */
    }

    .mapa_contact iframe {
        width: 100%; /* Ancho completo del iframe */
        height: 350px; /* Altura del iframe */
        border-radius: 15px; /* Agrega bordes redondeados */
    }
}




/********************************************
                Map Section
*********************************************/

.mapa_contact{
    padding: 0px 100px 30px;
    text-align: center;
}

.mapa_contact iframe{
    border: 2px solid #000;
    border-radius: 15px;
}

.scroll-section.mapa_contact{
    opacity: 0.3;
    transform: translateY(100px) translateX(0px);
    transition: opacity 0.5s ease, transform 1s ease;
}

.scroll-section.mapa_contact.visible {
opacity: 1;
transform: translateY(0) translateX(0px);
animation-fill-mode: forwards;
}


