
/*------------------presentacion-----------------------*/
.sobre_titular {
    margin-bottom: 28px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.texto_pres h2 {
    letter-spacing: -.3px;
    line-height: 1.22;
    font-size: 2.8em;
    font-weight: 600;
    margin-bottom: 35px;
}

.texto_pres p {
    margin-bottom: 30px;
    text-align: justify;
}

.texto_pres h3 {
    line-height: 1.1;
    font-size: 1.7em;
    font-weight: 600;
}

#presentacion .sobre_titular {
    margin-bottom: 10px;
}

#presentacion .texto_presentacion {
    padding-left: 7%;
    display: flex;
}

.texto_pres {
    align-self: center;
}

/*------------------cajas bajo slide- servicios----------------------*/
#cajas_enlaces_dato_contacto{ margin-top:-60px;}
#cajas_enlaces_dato_contacto .dato{ position: absolute; bottom: 0px; margin: 0px;}
#cajas_enlaces_dato_contacto .dato li{ display: inline-block; font-size: 1.2em;}
#cajas_enlaces_dato_contacto .dato li .fas{font-size: 2.5em; margin-right: 10px;}
#cajas_enlaces_dato_contacto .caja {padding:30px 20px; transition: color linear 1s; text-align: center;}
.caja{transition: color linear 1s;}
#cajas_enlaces_dato_contacto .nombre_caja{ font-size: 2.1em; font-weight: 700; line-height: 110%; padding-top: 15px;}
#cajas_enlaces_dato_contacto .caja .icono{font-size: 3em;}
#cajas_enlaces_dato_contacto .caja .ver{font-size: 2.5em;}

/*------------------noticias CARD-----------------------*/
.titular_seccion {
    margin-bottom: 18px;
    font-weight: 600;
    line-height: 1.1;
    font-size: 2.8em;
    letter-spacing: -.3px;
}

#noticias .card {
    box-shadow: 0 0 30px 0 rgba(0, 33, 85, 0.1);
    margin-bottom: 30px;
}

#noticias h2.card-title {
    font-size: 1.3em;
    font-weight: 600;
    letter-spacing: -.3px;
}

#noticias .fecha_not {
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.8em;
    letter-spacing: 1px;
}


/* 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;
}

.carousel-caption h1 {
    font-size: 4rem;
}

.boton_teaser {
    margin-top: 15px;
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    opacity: 1;
}


/*------------------servicios-----------------------*/
.servicios {
    text-align: center;
}

.servicios h2 {
    text-transform: uppercase; color:black; padding-bottom: 30px; text-align: center;

}



.servicios h3 {
    text-align: center;
    margin: 0px;
    padding-top: 20px;
    padding-bottom: 10px;
    color: #000;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 17px;

}

.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 {
    margin: 0px;
    overflow: hidden;
}

.servicios a figure img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.servicios a:hover figure img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    overflow: hidden;
}

.servicios a:hover figure {
    overflow: hidden;
}

@-webkit-keyframes circle {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}

@keyframes circle {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}


/* Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
    .bloque_logos .marca { width: 50%;    }

.slide .carousel-item img{height: calc(40vh)!important;    object-fit: cover;}
    .bloque_logos {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
.carousel-caption{     top:25%;}
    .carousel-caption p {
        line-height: 100%;
        font-size: 0.875em;
    }
    .carousel-caption h1 {font-size: 2em;line-height: 100%;    }

    #cajas_enlaces_dato_contacto{ margin-top:-5px;}

    .texto_pres h2 {
        font-size: 1.8em;
    }

    .relleno_ambos {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .carousel-caption .texto_hueco {
        font-size: 2.1em
    }

    .imagen_pres {
        margin: 0 15px 30px 15px;
    }

}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767.98px) {
    .bloque_logos .marca { width: 50%;    }
    .slide .carousel-item img{height: calc(100vh)!important;    object-fit: cover;}
    .carousel-caption{     top:25%;}
    .carousel-caption p{font-size: 1em;}
    .carousel-caption h1 {
        font-size: 2.3rem;
    }

    .texto_pres h2 {
        font-size: 2em;
    }

    .relleno_ambos {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .carousel-caption .texto_hueco {
        font-size: 3.2em
    }

    .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) {
    .carousel-caption{     top:25%;}
    .carousel-caption h1 {
        font-size: 2.5rem;
    }

    .relleno_ambos {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    #presentacion .texto_presentacion {
        padding-left: 10px;
    }

    .carousel-caption .texto_hueco {
        font-size: 3.2em
    }

    .carousel-caption {
        bottom: 60px;
    }

    .texto_pres h2 {
        font-size: 2.3em;
    }
}

/* 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;
    }

    .carousel-caption {
        bottom: 176px;
    }

    .carousel-caption .texto_hueco {
        font-size: 3.2em
    }

    #presentacion .texto_presentacion {
        padding-left: 10px;
    }
}

/* Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width: 1399px) {
    .carousel-caption {
        bottom: 150px !important;
    }

}

/* Extra large devices (large desktops, 1400px and up)*/
@media (min-width: 1400px) {
    .carousel-caption {
        bottom: 250px !important;
    }

}
