@font-face {
    font-family: 'avertaextrabold';
    src: url('../fonts/averta-extrabold-webfont.eot');
    src: url('../fonts/averta-extrabold-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/averta-extrabold-webfont.woff2') format('woff2'),
        url('../fonts/averta-extrabold-webfont.woff') format('woff'),
        url('../fonts/averta-extrabold-webfont.ttf') format('truetype'),
        url('../fonts/averta-extrabold-webfont.svg#avertaextrabold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'avertalight';
    src: url('../fonts/averta-light-webfont.eot');
    src: url('../fonts/averta-light-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/averta-light-webfont.woff2') format('woff2'),
        url('../fonts/averta-light-webfont.woff') format('woff'),
        url('../fonts/averta-light-webfont.ttf') format('truetype'),
        url('../fonts/averta-light-webfont.svg#avertalight') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'avertaregular';
    src: url('../fonts/averta-regular-webfont.eot');
    src: url('../fonts/averta-regular-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/averta-regular-webfont.woff2') format('woff2'),
        url('../fonts/averta-regular-webfont.woff') format('woff'),
        url('../fonts/averta-regular-webfont.ttf') format('truetype'),
        url('../fonts/averta-regular-webfont.svg#avertaregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'avertaregular';
    font-weight: 400;
}

body.pt-142px {
    padding-top: 142px;
}

a {
    text-decoration: none;
    transition: all 1s ease;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-bottom: 0;
}

img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

header {
    position: relative;
    
}

header .logo {
    position: fixed;
    top: 30px;
    z-index: 1;
}

header .logo img {
    width: 223px;
    height: 88px;
    opacity: 1;
    transition: opacity 1s ease;
}

header.header-interna {
    background-color: #FFFFFF;
    height: 142px;
    width: 100%;
    position: fixed;
    margin: 0 auto;
    top: 0;
    z-index: 2;
}

header.header-interna .logo {
    top: 30px;
}

header .menu-toggle {
    position: fixed;
    top: 60px;
    right: 180px;
    z-index: 1;
    cursor: pointer;
    width: 54px;
    height: 34px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

header .menu-toggle-bar {
    width: 100%;
    height: 4px;
    background-color: #FFFFFF;
    border-radius: 2px;
    transition: transform 0.3s ease;
}

header .menu-toggle-bar-negro {
    background-color: #231F20;
}

header .menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #D77658;
    /* transition: opacity 1s ease; */
    z-index: 999;
    overflow: hidden;
    padding-top: 73px;
    padding-bottom: 73px;
    padding-right: 83px;
    padding-left: 83px;
    text-align: right;
    visibility: hidden;
    /* Ocultar el menú inicialmente */
    opacity: 0;


    transform: translateZ(0);
    transition: all .64s cubic-bezier(.165, .84, .44, 1);
}

header .menu.active {
    visibility: visible;
    /* Mostrar el menú al activar la clase 'active' */
    opacity: 1;
}

header .close-icon {
    position: absolute;
    top: 60px;
    right: 180px;
    background: url("../images/varios/close.svg"), no-repeat, center;
    display: block;
    width: 58px;
    height: 58px;
    color: #fff;
    cursor: pointer;
    transition: transform 0.3s ease;
}

header .menu ul {
    opacity: 1;
    transition: opacity 1s ease;
    list-style-type: none;
    padding: 0;
    position: relative;
    top: 70px;
    text-align: left;
    right: 10%;
    float: right;
}

header .menu ul li:first-child {
    padding-top: 0;
}

header .menu ul li:last-child {
    padding-bottom: 0;
}

header .menu ul li {
    padding: 15px 0;
}

header .menu ul li a {
    color: #000000;
    text-decoration: none;
    font-size: 37px;
    font-weight: 400;
    line-height: 44.45px;
}

header .menu .idiomas {
    position: absolute;
    right: 30%;
    float: right;
    bottom: 50px;
}

header .menu .idiomas a {
    color: #FFF;
    font-size: 30px;
    font-family: 'avertalight';
    font-weight: 300;
    display: block;
    text-align: start;
}

header .menu .idiomas a.actual {
    font-family: 'avertaextrabold';
    font-weight: 800;
    display: block;
    text-align: start;
}

header .carousel-item video {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

header .carousel-indicators {
    bottom: 20px;
}


/* footer */
footer {
    background-color: #FFFFFF;
    padding-top: 30px;
    padding-bottom: 30px;
    /* z-index: 1;
    position: fixed;  
    height: 200px;  
    bottom: 0;
    width: 100%; */
}

footer img.logo-principal {
    width: 267px;
}

footer a {
    color: #D77658;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
}

footer.footer-interna a,
footer.footer-interna h6,
footer.footer-interna a.direccion,
footer.footer-interna a.telefono {
    color: #231F20;
}

footer h6,
.footer-info h6 {
    color: #D77658;
    font-family: "Lato";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 10px;
}
footer a.direccion,
footer a.telefono,
.footer-info a.direccion,
.footer-info a.telefono {
    color: #D77658;
    font-family: "Lato";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}
.footer-info h6,
.footer-info a.direccion,
.footer-info a.telefono {
    color: #231F20;
}

footer a.redes-sociales,
.footer-info a.redes-sociales {
    display: inline-block;
}

footer a.redes-sociales img,
.footer-info a.redes-sociales img {
    width: 21px;
    height: 21px;
    object-fit: contain;
}

.trabajos-realizados h1 {
    font-size: 37px;
    font-weight: 400;
    line-height: 44.45px;
    text-align: left;
    color: #000;
}

a.btn-ver-todos {
    font-family: "avertaextrabold";
    font-size: 24px;
    font-weight: 800;
    line-height: 28.83px;
    text-align: left;
    color: #000000;
    display: inline-block;
    position: relative;
}
a.btn-ver-todos img{
    transition: transform 0.5s ease-in-out;
}

a.btn-ver-todos:hover img {
    animation: moveArrowRight 0.5s ease forwards;
}
a.btn-ver-todos.transladar-izquierda:hover img{
    animation: moveArrowLeft 0.5s ease forwards;
}
/* a.mover-a-la-derecha:hover{
    animation: moveArrowRight 0.5s ease forwards;
} */

@keyframes moveArrowRight {
    0% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(5px);
    }

    40% {
        transform: translateX(15px);
    }

    60% {
        transform: translateX(25px);
    }

    80% {
        transform: translateX(20px);
    }

    100% {
        transform: translateX(20px);
    }
}
@keyframes moveArrowLeft {
    0% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(-5px);
    }

    40% {
        transform: translateX(-15px);
    }

    60% {
        transform: translateX(-25px);
    }

    80% {
        transform: translateX(-20px);
    }

    100% {
        transform: translateX(-20px);
    }
}


a.btn-ver-todos img {
    width: 33px;
    height: 33px;
}

/* Estilos base para el contenedor */
.trabajo-realizado-item {
    position: relative;
    max-width: 370px;
    height: 590px;
    overflow: hidden;
}

.trabajo-realizado-item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.tipo-trabajo-realizado-item {
    max-width: 280px;
    height: 350px;

}

.trabajo-realizado-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 1s ease;
}


/* Estilo para el texto dentro del contenedor */
.trabajo-realizado-item .texto {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    /* Espacio desde abajo */
    text-align: center;
    color: white;
    font-size: 18px;
    opacity: 1;
    /* Inicialmente oculto */
    transition: bottom 1s ease;
    /* Transiciones para animaciones */
    margin: 0 auto;
    z-index: 1;

}

.trabajo-realizado-item .texto p {
    text-align: center;
    font-family: "avertaextrabold";
    font-size: 32px;
    font-weight: 800;
    line-height: 38.44px;
    color: #FFFFFF;
    margin-bottom: 10px;
}

.trabajo-realizado-item span.btn-ver-mas {
    width: 184px;
    height: 47px;
    margin: 0 auto;
    display: block;
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 47px;
    opacity: 0;
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
    transition: all 1s ease;
}

/* Estilo para el contenedor cuando se hace hover */
.trabajo-realizado-item:hover img {
    filter: blur(20px);
    /* filter: blur(8px); */
    transition: filter 1s ease;
    /* Aplica un filtro de desenfoque */
}

.trabajo-realizado-item:hover .texto {
    opacity: 1;
    bottom: 50%;
    transition: opacity 0.5s ease, bottom 1s ease;
}

.tipo-trabajo-realizado-item:hover .texto {
    bottom: 35%;
}

.trabajo-realizado-item:hover .texto span.btn-ver-mas {
    opacity: 1;
}

.la-empresa h1 {
    color: #000;
    font-size: 51px;
}

.la-empresa h6 {
    color: #000;
    font-family: "avertaextrabold";
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
}

.la-empresa p {
    color: #000;
    font-family: "Lato";
    font-size: 16px;
    font-weight: 400;
    line-height: 19px;
}

.la-empresa .info-texto {
    max-width: 500px;
    margin-left: 15%;
}

.la-empresa .imagen-trayectoria {
    width: 100%;
    /* height: 590px; */
    overflow: hidden;
    position: relative;
}

.la-empresa .imagen-trayectoria img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    /* position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
    transition: transform 0.3s ease-out;
}

.la-empresa .imagen-mision {
    width: 525px;
    height: 635px;
    overflow: hidden;
    position: relative;
}

.la-empresa .imagen-mision img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease-out;
}

.equipo h1 {
    color: #000;
    font-size: 51px;
}

.equipo .equipo-item {
    cursor: pointer;
}

.equipo .equipo-item .imagen-equipo {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.equipo .equipo-item .imagen-equipo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 1s ease;
}

.equipo .equipo-item:hover .imagen-equipo img {
    transform: scale(1.1);
    transition: transform 1s ease;
}

.equipo .equipo-item h6,
.modal-miembro-equipo h6 {
    color: #000;
    font-family: "avertaextrabold";
    font-size: 24px;
    font-weight: 800;
}

.equipo .equipo-item p,
.modal-miembro-equipo p {
    color: #000;
    font-family: "Lato";
    font-size: 16px;
    font-weight: 400;
    line-height: 19px;
}
.modal-miembro-equipo p.cargo{
    font-weight: 700;
}
.equipo .logo-g {
    object-fit: cover;
    width: 246px;
    height: 308px;

}

#miembroModal1 .modal {
    height: 100vh;
    width: 100vh;
    display: flex;
    flex-direction: row;
    background: #000000;
}

.modal.modal-miembro-equipo {
    overflow: hidden;
    --bs-modal-margin: 0 !important;
}

.modal-miembro-equipo img {
    height: 400px;
    position: absolute;
    bottom: 50px;
    object-fit: contain;
}

.modal-miembro-equipo .modal-content {
    height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: row;
}

.modal.show .modal-dialog {
    max-width: 100%;
}


.modal-miembro-equipo .modal-left{
    flex: 1;
    padding: 20px;
    background-color: #000000;
}
.modal-miembro-equipo .modal-right {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.modal-miembro-equipo .tarjeta {
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 50px;
    width: 60%;
}

.modal-miembro-equipo .btn-close {
    opacity: 1;
    position: absolute;
    right: 20px;
    width: 50px;
    height: 50px;
}

.modal-miembro-equipo .modal-right h6 {
    margin-top: 100px;
}

.modal-miembro-equipo .modal-right p.cargo {
    margin-top: 100px;
}

.contenedor-paginador .jplist-selected {
    border: 1px solid #000;
    background-color: #000;
    color: #fff;
}
.contenedor-paginador button{
    font-family: "avertaextrabold";
    font-size: 20px;
    font-weight: 800;
    width: 37px;
    height: 37px;
    color: rgba(000, 000, 000, 0.3);
    border: none;
    background-color: #FFF;
}
.formulario-contacto label {
    color: #000;
    font-family: 'avertaregular';
    font-size: 16px;
    font-weight: 400;
}
.formulario-contacto .form-control {
    border: none;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid #494949;
}
.formulario-contacto textarea {
    min-height: 150px;
    height: 150px;
}
.formulario-contacto .btn-enviar {
    width: 138px;
    height: 43px;
    border-radius: 3px;
    border: 1px solid #D77658;
    background: #D77658;
    color: #FFF;
    text-align: center;
    font-family: "avertaextrabold";
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    transition: all 1s ease;
}
.formulario-contacto .btn-enviar:hover{
    background-color: #FFF;
    color: #D77658;
}
.mapa iframe{
    width: 100%;
    height: 400px;
    object-fit: cover;
}
.obras-imagenes img{
    display: block;
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
    height: 570px;
}
.obras-collage img{
    display: block;
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
    height: 328px;
}
.banner-principal-obra{
    background-image: url("../images/obra/banner-principal-obra.jpeg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    height: 100vh;
}
/* .banner-principal-obra img{
    display: block;
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
    height: 768px;
} */
.obra-interna h3{
    color: #000;
    font-family: "avertaextrabold";
    font-size: 24px;
    font-weight: 800;
}
.obra-interna p{
    color: #000;
    font-family: "Lato";
    font-size: 16px;
    font-weight: 400;
}
.sobre-la-obra {
    background-image: url("../images/obra/sobre-la-obra.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 506px;
}
.sobre-la-obra2 {
    background-image: url("../images/obra/sobre-la-obra2.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 686px;
}
.datos-del-proyecto{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}
.datos-del-proyecto h2{
    color: #000;
    font-family: 'avertaregular';
    font-size: 32px;
    font-weight: 400;
}
.datos-del-proyecto p {
    font-size: 32px;
    font-weight: 300;
}

.lightbox-carousel .modal-content {
    height: 90vh;
}
.lightbox-carousel img {
    width: auto !important;
    height: 95vh !important;
    margin: 0 auto !important;
    display: block !important;
    right: 0;
}
.z-index-1-negativo{
    z-index: -1;
}
.parallax{
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    height: 570px;
}
.parallax1{
    background-image: url("../images/obra/obra1.png");
}
.parallax2 {
    background-image: url("../images/obra/obra2.png");
    background-attachment: scroll;
}
.parallax3 {
    background-image: url("../images/obra/obra3.png");
    background-attachment: scroll;
}