@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@200;400;700;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;500;600;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;600;700;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;600;700;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@100;200;300;400;600;700;900&display=swap');

html{
    font-family: 'Lato' !important;
    background-color: #fff;
    width: 100%;
    overflow-x: hidden;
}

.menu-cyan {
    font-family: 'Lato';
    background-color: #2C2C2C !important;
    border-radius: 47px 0px 0px 47px;
    max-width: fit-content;
    position: fixed !important;
    z-index: 10000;
    font-family: "Lato";
    transition: width 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-cyan.scrolled {
    width: 100%;
    max-width: 100vw;
    border-radius: 0;
    margin: 0 !important;
}

#logo {
    display: none;
}

.scrolled #logo {
    display: inline;
}

#navbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#navbarNavAltMarkup {
    display: flex;
    align-items: center;
}

#navbarSupportedContent .navbar-nav {
    margin-left: auto;
}

#planear{
    background-color: #EDEDED;
}

.text-desc{
    font-family: "Lato";
    color: #111111;
    opacity: 1;
}

h1{
    font-family: 'Lato' !important;
    letter-spacing: 0.56px;
    font-weight:400 !important;
}

#design h5{
    color: #FFFFFF !important;
}

.btn-contacto{
    background-color: #C2080E !important;
    color: #FDFBEC !important;
    border-radius: 20px !important; 
}

.btn-contacto:hover, .btn-contacto:active{
    background-color: #c2080edc !important;
    color: #FDFBEC !important;
    border-radius: 20px !important; 
}

#design{
    background: transparent linear-gradient(180deg, #C2080E 0%, #88070B 100%) 0% 0% no-repeat padding-box;
}

.lato{
    font-family: "Lato";
}

.text-design{
    font-weight: 300;
    opacity: 1;
}
.btnAbout{
    background-color: #C2080E !important;
    color: #FAFAFA !important;
    border-radius: 47px !important; 
}

.btnAbout:hover, .btnAbout:active{
    background-color: #c2080edb !important;
    color: #FAFAFA !important;
    border-radius: 47px !important; 
}

.separador{
    border-left: thick solid #FFFFFF;
    border-width: 2px !important;
    min-height:120px;
    padding-left: 5% !important;
    margin-left: 5%;
}
#design .container .row .col-md-4{
    width: 30% !important;
}

#servicios{
    background: transparent linear-gradient(180deg, #000000 0%, #454444 100%) 0% 0% no-repeat padding-box;
    color: #FFFFFF !important;
    transform: matrix(-1, 0, 0, -1, 0, 0);
}

li{
    display: flex;
    align-items: center;
    margin: -10px 0 !important;
}

li::before{
    content: "•";
    margin-right: 20px;
    color: #C2080E;
    font-size: 30px;
}

li p{
    margin-bottom: 0;
    margin-top: 0px;
}

#instalaciones{
    background-color: #EFEFEF;
}

.img-contacto{
    background-image: url('../img/img_contacto.png');
    background-size:cover;
    background-repeat: no-repeat;
    background-position: top left;
    width: 50%;
}

.foot{
    background-color: #222222;
    font-family: 'Lato';
}

.w-md-fl{
    width: 50% !important;
}

.input-contacto, textarea{
    background-color:#FFFFFF !important;
}

.link{
    text-decoration: none;
}

.textEndPhCenter{
    text-align: end;
}

.head-about{
    background-image: url('../img/head_about.jpg');
    background-size: cover;
    background-repeat: no-repeat;
}

.head-services{
    background-image: url('../img/servicios.jpg');
    background-size: cover;
    background-repeat: no-repeat;
}

.head-total{
    background-image: url('../img/total.png');
    background-size: cover;
    background-repeat: no-repeat;
}

.about-desc{
    color: #1E1D30;
    opacity: 0.7;
}

.number{
    color: #DDDEDF;
    font-family: 'Lato';
    font-weight:500;
    font-size: 5.5rem;
}

.img-shapes{
    background-image: url('../img/Shapes.svg');
    background-size: 100%;
    background-position-x: -20vw;
    background-position-y: -38vw;
    background-repeat: no-repeat;
}

.img-shapes-contact{
    background-image: url('../img/Shapes.svg');
    background-size: 100%;
    background-position-x: -32vw;
    background-position-y: -50vh;
    background-repeat: no-repeat;
}

.image-container {
    position: relative;
    overflow: hidden;
    width: 100%; /* Ancho del 90% del contenedor */
    height: 100%; /* Altura del 90% del contenedor */
    margin: 0 auto; /* Centra el contenedor horizontalmente */
    border: 2px solid transparent; /* Borde inicialmente transparente */
    border-radius: 18px;
    transition: border 0.3s ease; /* Transición para suavizar el cambio de borde */
}

.img-fluid {
    width: 100%; /* Ancho del 100% de la imagen en relación al contenedor */
    height: 100%; /* Altura del 100% de la imagen en relación al contenedor */
    display: block;
    object-fit: cover; /* Ajusta la imagen para cubrir completamente el contenedor */
}

.info-overlay {
    background-color: #00000080;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Centra el contenido */
    width: 90%; /* Ancho del 90% del contenedor */
    height: 90%;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-align: center; /* Centra el texto horizontalmente */
    padding: 20px; /* Añade espacio alrededor del texto */
    border-radius: 18px;
}

.info-hidden {
    opacity: 0;
    padding-top: 35%;
}

.image-container:hover .info-overlay {
    opacity: 1;
}

.image-container:hover .info-hidden {
    opacity: 1;
    z-index: 1; /* Asegura que el texto esté sobre el borde rojo */
}

.image-container:hover {
    width: 100%; /* Ancho del 100% de la imagen en relación al contenedor */
    height: 100%;
    padding: 5%;
    border: 2px solid red; /* Borde rojo al pasar el ratón sobre el contenedor */
}



.info-overlay2{
    position: absolute;
    bottom: -0%; /* Inicialmente, el div está fuera de la vista */
    opacity: 0; /* Inicialmente, el div es invisible */
    left: 0;
    top: 3rem;
    transition: bottom 0.3s ease, opacity 0.3s ease; /* Agrega transiciones para suavizar la animación */
}

.showov2:hover .info-overlay2{
    top:3rem;
    opacity: 1;
}

.info-overlay3{
    position: absolute;
    bottom: -0% !important; /* Inicialmente, el div está fuera de la vista */
    opacity: 0; /* Inicialmente, el div es invisible */
    left: -4rem !important;
    transition: bottom 0.3s ease, opacity 0.3s ease; /* Agrega transiciones para suavizar la animación */
}

.showov3:hover .info-overlay3{
    bottom: -0 !important; /* Cuando el cursor está sobre la columna, el div se desliza hacia arriba */
    top: auto;
    opacity: 1; /* El div se vuelve visible */
    left: -4rem !important;
}

.textleP{
    text-align: end !important;
}

.text-lePhone{
    text-align: right;
}

.fondo-about{
    background-image: url('../img/fondo_about.png');
    background-size: cover;
}

.detalles-modal{
    background-image: url('../img/detalles_modal.png');
    background-size:110%;
    background-repeat: no-repeat;
    background-position: right top;
}

.img-bottom{
    position: absolute;
    bottom: 4rem !important;
    width: 27%;
}

.less5rem{
    margin-right:-5rem !important;
}

.top5rem{
    margin-top: -5rem !important;
}

.py-5L{
    padding: 4rem 0 !important;
}

.my-5L{
    margin: 4rem 0 !important;
}

@keyframes slideFromLeft {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideFromRight {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@media (max-width: 3060px) {
}

@media (max-width: 1280px) {
}

/* LG */
@media (max-width: 1199px) {
}

/* MD */
@media (max-width: 991px) {
    
}

/* SM */
@media (max-width: 767px) {
    .menu-cyan{
        max-width: 100%;
    }
    .phoneShow{
        display:block !important;
    }
    #design .container .row .col-md-4{
        width: 100% !important;
    }
    .separador{
        border-width: 0 !important;
        padding-left: 0.8rem !important;
        margin-left: 0 !important;
    }
    .w-md-fl{
        display: block;
        width: 100% !important;
    }
    .separador{
        min-height: 0;
    }
    .hiddenPhone{
        display: none;
    }
    .textEndPhCenter{
        text-align: center !important;
    }
    .foot{
        text-align: center;
    }
    .textleP{
        text-align: left !important;
    }
    .sizeImageP{
        width: 100% !important;
    }
    .text-lePhone{
        text-align: left;
    }
    .less5rem{
        margin-right: 0rem !important;
    }
    #contacto{
        padding: 0 !important;
    }
    .top5rem{
        margin-top: 0 !important;
    }
    .reverse{
        display: flex;
        flex-direction: column-reverse;
    }
    .mb-5P{
        margin-bottom: 7rem !important;
    }
    .head-about{
        background-size: 150%;
        height: 150px;
    }
    .py-5L{
        padding: 1rem 0 !important;
    }
    .my-5L{
        margin: 0 !important;
    }

    .img-bottom{
        position: absolute;
        bottom: 2rem !important;
        right: 1rem;
        width: 40%;
    }
}

/* XS */
@media (max-width: 575px) {}

/* XS */
@media (max-width: 330px) {}