@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Covered+By+Your+Grace&display=swap');


a:hover {
    text-decoration: none;
}

body {

    font-family: 'Red Hat Display', sans-serif;
    font-weight: 200;
    font-size: 17px;
    color: #797676;
    max-width: 100%;
    overflow-x: hidden;
}

b, strong {
    font-weight: bold;
    color: #000000;
}

#ir_arriba {
    bottom: 30px;
    position: fixed;
    right: 30px;
}

#ir_arriba span {
    background: url("../img/uptotop.png") no-repeat scroll center center;
    display: block;
    height: 48px;
    width: 48px;
    opacity: 0.50;
}

.bold_600 {
    font-weight: 600;
}

.marker {
    background-image: url('../img/mapbox-icon.png');
    background-size: cover;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
}

.mapboxgl-popup-content { padding: 25px!important; border:transparent!important; color:#000;}
.mapboxgl-popup-content a {color:#000;}
.mapboxgl-popup-content a:focus-visible {    outline: none!important;}

.relleno_bajo {
    padding-bottom: 60px;
}

.relleno_top {
    padding-top: 60px;
}

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


.btn-primary {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
}

.btn-secondary {
    font-family: 'Red Hat Display', sans-serif;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 1px;
}

.btn_transp {
    background-color: transparent;
    border-color: #ccc;
    text-transform: uppercase;
    color: #fff;
    font-weight: 500 !important;
    padding: 8px 25px !important;
    margin-bottom: 20px;
}

.btn_redondo {
    letter-spacing: 1px;
    font-weight: 500;
    padding: 14px 36px;
    border-radius: 50px; /*Estandar   */
    -ms-border-radius: 50px; /* IE8   */
    -moz-border-radius: 50px; /* firefox   */
    -webkit-border-radius: 50px; /*safari   */
    -khtml-border-radius: 50px; /* Konqueror   */
}

.zona_redes li {
    display: inline-block;
}

#menu_principal .nav-link {
    font-size: 1.2em;
    padding-left: 1rem;
    padding-right: 1rem;
}

.navbar-toggler-icon {
    text-align: center;
}

.col_sin_relleno {
    padding-left: 0px;
    padding-right: 0px;
}

.image_centro {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


.sobre_titulo_centro {
    text-align: center;
    padding-bottom: 15px;
    font-family: 'Covered By Your Grace', cursive;
}

.smalltitle {
    font-size: 1.5em;
    position: relative;
    padding: 0 16px;
    display: inline-block;
    text-align: center;
}


.smalltitle::before {
    content: '';
    position: absolute;
    width: 100px;
    height: 8px;
    background-image: url("../img/b_g_rayas.png");
    background-color: rgba(255, 255, 255, 0.1);
    left: -100px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

}

.smalltitle::after {
    content: '';
    position: absolute;
    width: 100px;
    height: 8px;
    background-image: url("../img/b_g_rayas.png");
    background-color: rgba(255, 255, 255, 0.1);
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

    right: -100px;
}

.fondo_menu {
    margin-top: 5px;
}








.sinpadding {
    padding-left: 0px;
    padding-right: 0px;
}

.zona_telefono li {
    display: inline-block;
    padding: 8px 4px;
    vertical-align: middle;
    color: #fff;
}

.zona_telefono li a {
    color: #fff;
}

.zona_telefono .fas {
    margin-top: 8px;
    font-size: 1.5em;
}

.idioma_cabecero {
    text-align: right;
    margin-top: 10px;
    padding-left: 0px;
}

.idioma_cabecero li {
    border-right: 1px solid #666;
    display: inline-block;
    padding: 0;
    color: #fff;
    font-size: 0.8em;
}

.idioma_cabecero li a {
    color: #fff;
    text-transform: uppercase;
    margin: 5px 8px 5px 5px;
}

.sin_dcha {
    border-right: none !important;
}

.dropdown-toggle::after {
    display: none;
}

.dropdown-item {
    padding: 0px;
}

.dropdown-item a {
    display: block;
    padding: .45rem 1.5rem;
}

.dropdown-item {
    display: block;
}

.dropdown-item a:hover {
    display: block;
}

.dropdown-menu {
    padding: 0px;
}

.zona_titulares h2 {
    color: #000;
    font-weight: 700;
    font-size: 2.3em;
    margin-bottom: 20px;
}

.lista_redes li {
    display: inline-block;
    margin: 0 10px 10px 0;
}

.lista_redes li i {
    line-height: 30px !important;
}

.lista_redes li a {
    color: #fff;
    display: block;
    font-size: 16px;
    height: 30px;

    text-align: center;
    width: 30px;
    display: inline-block;
    vertical-align: top;
}

.lista_redes a:hover {
    color: #000;
}

.facebook {
    background-color: #3B5998;
}

.twitter {
    background-color: #00A0D1;
}

.youtube {
    background-color: #C4302B;
}

.instagram {
    background-color: #825C48;
}

.whatsapp {
    background-color: #3DC24F;
}

.Sharingbutton {
    background-color: #ff8d2d;
}

/*--------------presentacion---------------------*/
#presentacion .relleno{ padding:10% ;}
#presentacion h2{color: #000;font-weight: 700;font-size: 2.6em;margin-bottom: 20px;}

/*----------------------banner publi--------------------------------------*/

.banner_publi {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
    background-position: left top;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 10%;
    padding-bottom: 10%;

}

.banner_publi .texto-caption {
    color: #fff;
    text-align: center;
}

.banner_publi .texto-caption h2 {
    font-size: 3.5em;
    font-weight: 900;
    line-height: 100%;
}

.banner_publi .texto-caption span {
    font-size: 0.8em;
    font-weight: 900;
    line-height: 100%;
}

.banner_publi .texto-caption p {
    font-weight: 600;
    font-size: 1.6em;
    line-height: 100%;
}


/*--------------solicitar presupuesto---------------------*/
.fondo_color_solicitar {
    padding-top: 20px;
    padding-bottom: 20px;
}

.solicita_presupuesto span {
    font-size: 2em !important;
    font-weight: 800;
    text-transform: uppercase;
}


/*-------------------------------newsletter------------------------------*/
.caja_blanca {
    margin-top: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #fff;
}

.caja_blanca input {
    background-color: transparent !important;
    color: #000 !important;
}

.fondo_newletter {
    padding: 25px 15px 15px 15px;
    color: #fff;
}

.zona_texto_newsletter h2 {
    margin-bottom: 0px;
    color: #fff;
    font-size: 2em;
    font-weight: 900;
}

.zona_texto_newsletter p {
    line-height: 100%;
    margin-top: 8px;
}


.politica_news {
    color: #fff;
    font-size: 0.8em;
}

.politica_news:hover {
    color: #000;
}

.caja_newsletter {
    border: none !important;
    color: #000 !important;
    padding: 0px !important;
}

.btn_especial i {
    font-size: 1.5em;
    color: #fff;
}

.caja_blanca input::placeholder {
    color: #333;
}

.btn_especial {
    text-align: right;
}


/*-------------------------------contacto index------------------------------*/
.fondo_contacto_index {
    padding-top: 30px;
    padding-bottom: 30px;
}

.fondo_contacto_index .sobre_titulo {
    color: #FFF;
}

.fondo_contacto_index input, .fondo_contacto_index textarea {
    background-color: rgba(255, 255, 255, 0.2);
    border: none;
}

.fondo_contacto_index input::placeholder, .fondo_contacto_index textarea::placeholder {
    color: #fff;
}

.fondo_contacto_index input::placeholder {
    color: #fff;
}

.fondo_contacto_index .relleno {
    padding: 30px 30px 50px 30px;
}

.fondo_contacto_index .politica {
    font-size: 0.8em;
}

.fondo_contacto_index a {
    color: #FFF;
    text-decoration: underline;
}

.fondo_contacto_index a:hover {
    color: #999;
}

.fondo_contacto_index .form-check {
    margin-bottom: 15px;
}

.fondo_contacto_index .h2 {
    color: #fff;
    font-weight: 700;
    font-size: 2.1em;
    margin-bottom: 20px;
}

.fondo_contacto_index strong {
    color: #FFF;
}

.zona_texto_cont {
    padding-top: 20px;
}

.sobre_titulo {
    font-size: 1.5em;
    padding: 0 16px 0 0;
    display: inline-block;
    position: relative;
    font-family: 'Covered By Your Grace', cursive;
}

.sobre_titulo::after {
    content: '';
    position: absolute;
    width: 200px;
    height: 10px;
    background-image: url("../img/b_g_rayas.png");
    background-color: rgba(255, 255, 255, 0.1);
    top: 0.5em;
    right: -200px;
}

.zona_texto_cont p {
    color: #ddd;
}

.tel_cont a {
    font-size: 1.1em;
}

.tel_cont i {
    font-size: 1.5em;
    vertical-align: middle;
}


/*-------------------------------video responsive------------------------------*/

.video-responsive {
    background-color: #000;
    position: relative;
    padding-bottom: 56.25%; /* 16/9 ratio */
    padding-top: 30px; /* IE6 workaround*/
    margin-bottom: 20px;
    height: 0;
    overflow: hidden;
}

.video-responsive iframe,
.video-responsive object,
.video-responsive embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/*-------------------------------footer------------------------------*/
footer {
    background-image: url("../img/b_g_rayas.png");
    background-repeat: repeat;
}

.datos_cont {
    margin-bottom: 3.125em;
    margin-top: 3.125em;
    text-align: center;
    /*color:#ddd;*/
}

footer .icono i {
    font-size: 2em;
}

footer .icono {
    padding-bottom: 3%;
}

/*footer .titulo_dato {  color:#ddd;}*/
footer .zona_redes {
    text-align: center;
}

footer .zona_redes li a {
    font-size: 1.2em;
    padding: 8px;
}


#bloque_firma {
    padding-top: 8px;
    font-size: 0.8em;
}

#bloque_firma a {
    color: #666;
}

#bloque_firma a:hover {
    color: #000;
}

.firma {
    text-align: right;
}

.caja_pie i {
    padding-right: 5px;
}

.empresa_pie p {
    color: #fff;
}


.btn-link:hover {
    text-decoration: none !important;
}

.btn-link:visited .titular_enlace {
    text-decoration: none !important;
}


/*-------------------------------servicios----------------------------*/

.imagen_servicios_index {
    background-image: url("../img/servicios_index.jpg");
    background-size: cover;
    min-height: 50%;

}

#servicios .relleno {
    padding: 10%;
}

#servicios .btn_transp {color:#000; width: 100%;}

#servicios h2 {
    color: #000;
    font-weight: 700;
    font-size: 2.1em;
    margin-bottom: 20px;
}

#accordion .card {
    margin-bottom: 8px;
}

#accordion {
    margin-top: 30px;
}

#accordion .icono i {
    padding-right: 15px;
    text-align: right;
}

#accordion .btn-link {
    color: #032e42;
    font-size: 0.7em;
    font-weight: 500;
    white-space: normal !important;
    padding: 0px;
    text-align: left !important;
}

#accordion .card-body {
    padding: 33px;
    font-size: 0.9em;
}

.logo_dcha img{float:right;}
#subvenciones .texto{
    font-size: 0.8em;
    text-align: center;
    font-weight: bold;
}
#subvenciones a:hover {
    color: #000;
}

/*-------------------------------media query----------------------------*/

/* Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
    /* #menu_principal { padding-left:0px;}*/
    #subvenciones img {
        max-width: 200px;
    }
    #menu_principal .nav-item a {
        padding-left: 10px;
    }

    header {
        position: relative;
    }

    .carousel-caption h2 {
        font-size: 3em;
        font-weight: 900;
    }

    .carousel-caption {
        top: 370px;
    }

    .logo_mover {
        display:inline-block;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .fondo_menu {
        background-color: none !important;
    }

    .navbar-toggler {
        font-size: 1em;
        text-align: center;
        padding-right: 0px;
    }

    .sobre_titulo::after {
        right: -70px;
        width: 70px;
    }

    .idioma_cabecero {
        margin: 0px !important;
    }

    #menu_principal .nav-link {
        font-size: 1em;
        padding: .2rem .5rem;
        text-align: center;
    }

    .dropdown-item {
        text-align: center;
    }

    .datos_cont {
        margin: 1em;
    }

    .aviso, .firma {
        text-align: center;
    }

    #servicios h2 {
        font-size: 1.5em;
    }

    .zona_imagen_not {
        padding: 5px 0px;
    }

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

    .relleno_bajo {
        padding-bottom: 10px;
    }

    .zona_texto_newsletter h2 {
        font-size: 1.5em;
    }


}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767.98px) {
    .logo_mover {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    /*#menu_principal { padding-left:0px;}*/
    #menu_principal .nav-item a {
        padding-left: 10px;
    }

    .fondo_menu {
        background-color: none !important;
    }

    .idioma_cabecero {
        margin-top: 0px !important;
    }

    .navbar-toggler {
        text-align: center;
        padding-right: 0px;
        font-size: 1em;
    }

    #menu_principal .nav-link {
        font-size: 1.1em;
        padding: .2rem .5rem;
        text-align: center;
    }

    .navbar-toggler {
        font-size: 1em;
    }

    .dropdown-item {
        text-align: center;
    }

    .datos_cont {
        margin: 1em;
    }

    .zona_imagen_not {
        padding: 5px 0px;
    }


    .zona_texto_newsletter h2 {
        font-size: 1.5em;
    }

    .relleno_bajo {
        padding-bottom: 10px;
    }

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

    .aviso, .firma {
        text-align: center;
    }


}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991.98px) {
    #menu_principal .nav-link {
        font-size: 1em;
        padding: .2rem .5rem;
        text-align: center;
    }

    #servicios .relleno {
        padding: 4%;
    }

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

    #accordion .btn-link {
        font-size: 0.6em;
    }

    .sobre_titulo::after {
        width: 100px;
        right: -100px;
    }

    .fondo_contacto_index .h2 {
        font-size: 1.4em
    }

    .zona_texto_newsletter h2 {
        font-size: 1.5em;
    }


}


/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199.98px) {

    #servicios .relleno {
        padding: 4%;
    }


}

/* Extra large devices (large desktops, 1200px */
@media (min-width: 1200px)  and (max-width: 1298.98px) {


}

@media (min-width: 1300px) {


}