.slide_carrusel{
    background-color: #000;
}




.carousel-caption {
    color: #666;
    max-width: 40%;         
    background-color: #fff;
    border-radius: 10px;
    padding: 2.5rem;
    position: absolute;
    top: 50%;               /* posición vertical al 50% */
    transform: translateY(-50%); /* centra verticalmente según la altura dinámica */
    left: 5%;             /* mantiene la posición horizontal original */
    right: auto;
    bottom: auto;
    text-align: left;
    z-index: 4;
    height: auto;           /* altura según el contenido */
    overflow: visible;      /* para que no se corte el texto */
    
}
    
.slide_carrusel h1{ font-size:clamp(1.5em, 1.208em + 1.46vw, 3.125em); font-weight: 500; line-height: 105%; letter-spacing: -1px;    color: #555;}
.slide .carousel-item img {
    height:calc(90vh - 115px);
    object-fit: cover;
}


/* Extra small devices (portrait phones, less than 576px)*/
@media (width <= 575.98px){
    /* .slide .carousel-item { min-height:339px; width: 100%; background-image:url(../img/slide_resposive_fourier.jpg);}*/
    .slide .carousel-item img {height: 50vh;}   
    .carousel-caption p{line-height: 110%; font-size: 0.8em; color:#000;}
    .carousel-caption {   max-width: 90%; background-color: #ffffff90;   padding: 1.5rem;}
    .carousel-caption h1{font-size:1.3em; color:#000;}


}

/* Small devices (landscape phones, 576px and up)*/
@media (576px <= width <= 767.98px) {
    .slide .carousel-item img { height:auto !important; }
   
    .carousel-caption p{line-height: 110%; font-size: 0.8em;}
    .carousel-caption {   max-width: 50%; background-color: #ffffff90;   padding: 1.5rem;}
    .carousel-caption h1{font-size:1.3em;}
}

/* Medium devices (tablets, 768px and up)*/
@media (768px <= width <= 991.98px) {
    .slide .carousel-item img { height:auto !important; }
    

}

/* Large devices l (desktops, 992px and up)*/
@media (992px <= width <= 1199.98px) {
    .slide .carousel-item img { height:auto  !important; }
   
}

/* Extra large devices xl(large desktops, 1200px and up)*/
@media (1200px <= width <= 1399px) {



}
/* Extra large devices xl(large desktops, 1400px and up)*/
@media (width >= 1400px){



}






/*----------texto teaser-----------------*/


.fondo_presentacion {
    background-image: url("../img/fondo_presentacion.jpg");
    background-size: cover;
    background-position: center center;
}

.texto_teaser .texto_pres h2 {
    color: #333;
    font-size: clamp(1.5em, 1em + 2vw, 2em);
    font-weight: 500;
    text-align: left;
    line-height: 100%;
}

.texto_teaser .texto_pres h2 span {
    font-weight: 800;
}


.texto_teaser  .sobre_titular {
    font-weight: 500;
    font-size: clamp(0.8125rem, 0.7083rem + 0.3333vw, 1.125rem);
    letter-spacing: 1px;
}

.texto_teaser  .imagen_pres {
    display: flex;
    align-self: center;
}

.texto_teaser  .imagen_pres img {
    align-self: center;
}

.texto_teaser  .texto_presentacion {
    padding-left: 7%;
    display: flex;
    align-self: center
}

.texto_teaser .texto_pres {
    margin-bottom: 30px;
    align-self: center;
    font-size: 1.1em;
}


/*--------------presentacion texto teaser dcha ---------------------*/
.texto_teaser_dcha img{border-radius:20px; overflow: hidden;}
.texto_teaser_dcha  h2 {
        color: #333;
        font-size: clamp(1.75rem, 1rem + 2vw, 2.5rem);
        font-weight: 500;
        text-align: left;
        line-height: 100%;
    }
   
.texto_teaser_dcha .fondo_texto{
    background-color: #f2f2f2; /* gris claro, cambia al que quieras */
   flex-direction: column;
   display: flex; 
   justify-content: center;
   border-radius: 20px; 
  
  }    

  .texto_teaser_dcha .sobretitular{width:130px;}






/*------------------banner_publi-----------------------*/
.banner_publi {
    background-color: #000;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    position: relative;
    border-radius: 5px;


}
.banner_publi .overlay{ position: absolute;
    top: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
    width: 100%;
    height: 100%;
    z-index: 0;
}


.banner_publi .zona_texto {
    z-index: 5;
   
    line-height: 100%;
    text-align: center;
}

.banner_publi .zona_texto .subtitulo {
    font-size: clamp(1em, 2vw, 1.4em);
    font-weight: 400;
    line-height: 100%;
    color: #FFF;
}

.banner_publi .zona_texto h2 {
    font-size: clamp(1.7em, 2vw , 2.2em);
    font-weight: 500;
    line-height: 100%;
    color: #FFF;
    text-transform: uppercase;
}




/*------------------ Servicios imágenes slide -----------------------*/

.servicios_imagenes_slide {
    position: relative;
}
.servicios_imagenes_slide .sinopsis{color:#fff;}
.servicios_imagenes_slide h2 {
    color: #fff;
    font-size: clamp(1.75rem, 1.503rem + 1.24vw, 3.125rem);
    font-weight: 500;
    text-align: center;
    line-height: 100%;
}

.servicios_imagenes_slide .sobretitular {
    margin-top: 10px;
    font-weight: 500;
    text-transform: uppercase;
    font-size: clamp(0.8125rem, 0.7083rem + 0.3333vw, 1.125rem);
    letter-spacing: 1px;
   color:#fff;
}


    .caja_areas {
        height: 350px; /* altura fija para todas las cajas */
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        background-color: #efefef;
        border-radius: 30px;
        padding: 20px;
        transition: all 0.5s linear;
    }


.caja_areas:hover {
    color: #fff;
}

.titular_areas {
    font-size: clamp(1.063rem, 1.027rem + 0.18vw, 1.25rem);
   
}

.caja_areas figure { 
    transition: all 1s linear;
    overflow: hidden;
  
}
.caja_areas .descripcion{color:#555; font-size: 0.8em; line-height: 120%; text-align: center;}


.caja_areas figure img {
    transition: all 200ms linear;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}

.caja_areas:hover {
   /* transform: scale(1.2);*/
   /* filter: invert(100%) brightness(200%);*/
   box-shadow:  inset 9px 9px 18px #a09c9c,
   inset -9px -9px 18px #cac9c9;
}

/*---------------- Slick Slide --------------------*/

.slide_slick {
    display: flex;
}

.slide_slick .elemento_slick {
    display: flex;
    height: 100%;
    padding: 0 10px; /* separación entre cajas */
    box-sizing: border-box;
}



.slide_slick a h3 {
    font-size: clamp(1rem, 3vw, 1.1rem) !important;
    text-align: center;
    padding: 5px;
    font-weight: 400;
    line-height: 110%;
    color: #000;
    text-transform: uppercase;
}

.slide_slick .slick-list {
    cursor: grab;
}

.slide_slick .slick-dots {
    display: none !important;
}

/*------------------principales servicios-----------------------*/





.servicios_principales h2 {
    color: #333;
    font-size: clamp(1.75rem, 1.503rem + 1.24vw, 3.125rem);
    font-weight: 500;
    text-align: center;
    line-height: 100%;
}

.servicios_principales .sobretitular {
    margin-top: 10px;
    font-weight: 500;
    text-transform: uppercase;
    font-size: clamp(0.8125rem, 0.7083rem + 0.3333vw, 1.125rem);
    letter-spacing: 1px;
}

.servicios_principales .caja_areas {
    border-radius: 30px;
    text-align: center;
    z-index: 2;
    margin-bottom: 25px;
    transition: all 0.5s linear;
    color: #666;
    line-height: 128%;
    padding: 5px 35px;
    
}


.servicios_principales .caja_areas .titular_areas {
    font-size: clamp(1.063rem, 1.027rem + 0.18vw, 1.25rem);
}


.servicios_principales .caja_repite:hover i {
    color: #fff !important;
}

.servicios_principales .circle-bg i {
    font-size: 4em;
    margin-top: 0.5em;
}

.servicios_principales .dot-circle {
    display: inline-block;
    transition: 2s linear;
}

.servicios_principales .caja_repite:hover .dot-circle {
    transform: scale(1.2, 1.2);
}


/*.estrella{top: 25%;   right: 8%;   -webkit-animation: rotar 5s normal linear infinite;    animation: rotar 5s normal linear infinite;}
.lapiz{top: 20%;    left: 7%;  animation: scale 5s normal linear infinite; -webkit-animation: scale 5s normal linear infinite;}
.globo{bottom: 20%; right: 8%;  animation: scale 5s normal linear infinite; -webkit-animation: scale 5s normal linear infinite;}
.cubo{bottom: 21%;  left: 5%;     -webkit-animation: rotar 5s normal linear infinite;    animation: rotar 5s normal linear infinite;}
*/

@keyframes rotar {
    0% {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
    25% {
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
    }
    50% {
        -webkit-transform: rotate3d(0, 0, 1, 180deg);
        transform: rotate3d(0, 0, 1, 180deg);
    }
    75% {
        -webkit-transform: rotate3d(0, 0, 1, 270deg);
        transform: rotate3d(0, 0, 1, 270deg);
    }
    100% {
        -webkit-transform: rotate3d(0, 0, 1, 360deg);
        transform: rotate3d(0, 0, 1, 360deg);
    }
}


@keyframes scale {
    0% {
        transform: scale(1.0);
        -webkit-transform: scale(1.0);
    }
    50% {
        transform: scale(1.3);
        -webkit-transform: scale(1.3);
    }
    100% {
        transform: scale(1.0);
        -webkit-transform: scale(1.0);
    }
}


/* Extra small devices (portrait phones, less than 576px)*/
@media (width <= 575.98px) {
    .servicios_principales .sobretitular {
        margin-bottom: 20px;
    }
}

/* Small devices (landscape phones, 576px and up)*/
@media (576px <= width <= 767.98px) {
}

/* Medium devices (tablets, 768px and up)*/
@media (768px <= width <= 991.98px) {
}

/*------------------noticias-----------------------*/

.noticias a h3:hover {
    color: #e51130
}

.contenedor_noticias {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/*.noticias .card img {
      /* width: 358px;
    height: 228px;
    object-fit: contain;

    display: flex;
    align-self: center;


}*/

.noticias_portada h2 {
    font-size: 2.4em;
    margin-bottom: 20px;
}

.noticias h4 {
    color: #0e0b0b;
    letter-spacing: 2px;
}

.noticias .card figure {
    background-color: #F7F7F7;
    margin: 0px;
}

.noticias .card-title {
    margin-bottom: .75rem;
    font-size: 1.3em;
    font-weight: 300;
    text-transform: uppercase
}

.noticias .card-body .categoria {
    font-size: 1em;
    font-weight: 500;
}

.noticias .card-body {
    display: grid !important;
    grid-template-rows: 30px 1fr !important;
}

.noticias .card-footer {
    display: flex;
    justify-content: space-between;
    font-size: 0.8em;
    background-color: #fff;
    border-top: 1px solid #efefef;
}

.noticias .card-footer .fecha {
    text-transform: uppercase;
}

.noticias .card-footer .ver {
    font-size: 1.1em;
    font-weight: 600;
}


.noticias .card figure.effect-moses {
    background: linear-gradient(-45deg, #333 0%, #000 100%);
}

.noticias .card figure.effect-moses:hover img {
    opacity: 0.6;
}

.noticias .card figure.effect-moses img {
    opacity: 0.85;
    -webkit-transition: opacity 0.35s;
    transition: opacity 0.35s;
}


/* Circle */
.hover15 figure {
    position: relative;
}

.hover15 figure::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: block;
    content: '';
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, .2);
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
}

.hover15 figure:hover::before {
    -webkit-animation: circle .75s;
    animation: circle .75s;
}


/*------------------servicios-----------------------*/
.servicios {
    text-align: center;
    padding-right: 10%;
    padding-left: 10%;
    background-image: url(../img/adorno_fondo.jpg);
    background-position: bottom;
    background-repeat: no-repeat;
}

.servicios h2 {
    letter-spacing: -.3px;
    line-height: 1.22;
    font-size: 2.4em;
    font-weight: 600;

}

.servicios .subtitulo {
    font-size: 0.9em;
    font-weight: 800;

    text-transform: uppercase;
    margin: 21px 0 0;
    letter-spacing: .15em;
}

.servicios .subtitulo:after {
    background-image: url('../img/ornamentacion.png');
    content: "";
    width: 245px;
    height: 37px;
}

.servicios h3 {
    text-align: center;
    margin: 0px;
    padding-top: 20px;
    padding-bottom: 10px;
    text-transform: uppercase;
    font-size: 1.4em;
    font-weight: 800;

}

.servicios .caja .datos .desc {
    padding: 5px 10%;
    font-size: 0.9em;
}


.servicios .fila_cajas {
    justify-content: center;
}

.servicios a .desc {
    color: #666;
    font-size: 0.9em;
}


.servicios .fila_cajas a:hover .datos {
    background-color: #efefef;
}

.servicios .fila_cajas a .datos {
    padding: 5px 10px 20px 10px;
}


.servicios a figure {
    padding: 20px;
    margin: 0px;
    overflow: hidden;

}

.servicios a figure img {

    -webkit-transition: .3s linear;
    transition: all .3s linear;
    border-radius: 50%;

}

.servicios a:hover figure img {
    filter: grayscale(100%);
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 10px;

}

.servicios a:hover figure {
    overflow: hidden;
}




.titular_bloque {
    font-size: 2.8em;
    font-weight: 600;
    margin-bottom: 35px;
    text-transform: uppercase;
}


/* Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {

    .bloque_logos {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }

    .bloque_logos .marca {
        width: 50%;
    }

    #cajas_enlaces_dato_contacto {
        margin-top: -5px;
    }


}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767.98px) {


    .bloque_logos .marca {
        width: 50%;
    }

    .imagen_pres {
        margin: 0 15px 30px 15px;
    }

    #cajas_enlaces_dato_contacto {
        margin-top: -30px;
    }


}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991.98px) {

    #presentacion .texto_presentacion {
        padding-left: 10px;
    }


}

/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199.98px) {
    .bloque_logos {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    #presentacion .texto_presentacion {
        padding-left: 10px;
    }

}

/* Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width: 1399px) {


}

/* Extra large devices (large desktops, 1400px and up)*/
@media (min-width: 1400px) {


}
