@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800;900&display=swap');

a{text-decoration: none;}
a:hover{ text-decoration: none;}

body {
    font-weight:400;
	 max-width: 100%;
    overflow-x: hidden;
}

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

.menu_transparente {
    background-color: rgba(255, 255, 255, 1)!important;
    -webkit-box-shadow: 0px 0px 8px 2px #666;
    -moz-box-shadow: 0px 0px 8px 2px #666;
    box-shadow: 0px 0px 8px 2px #666;
}

header {
  position: relative;
  min-height: 20rem;
  width: 100%;
  overflow: hidden;
}
header .container {
    position: relative;
    z-index: 2;
}

.zona_texto_imagen{z-index: 9;}

.tel_cabecero{ font-size: 1.2em;font-weight: 600;display: inline-block;margin-left: 30px;text-align: right;}

.navbar#menu_superior{ display: block;
     -webkit-box-shadow: 0 0 transparent, 0 0 transparent,  2px 8px 5px -4px rgb(0 0 0 / 10%);
      box-shadow: 0 0 transparent, 0 0 transparent, 2px 8px 5px -4px rgb(0 0 0 / 10%);
}

.zona_menu{ padding: 0px;}

#menu_superior{ align-items: center; background-color: #fff; }

.zona_redes li{ display: inline-block;}

#menu_principal{ padding-top: 10px;  justify-content:end; }
#menu_principal .nav-link{  font-weight: 500; text-transform: uppercase; font-size: 0.9em; padding: 0px; margin: 0.5em 1em;}
#menu_principal .dropdown-menu {      padding:0;  margin: 0px 0px 0px 0.9em;    border-radius:0rem;}

#menu_principal .dropdown-item{font-size: 0.9em;  font-weight: 300;  border-bottom: 1px dotted #555;    display: block;   padding: .45rem 1rem;}

.image_centro {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.navbar-toggler{ text-align: right; font-size: 1em;}
.nav-link .fa-bars{ font-size: 1.5em;}
/*.dropdown-toggle::after{ display: none;}*/
 .dropdown-item .dropdown-toggle:hover{ background-color: #ddd;}

.alinear_abajo{ display: flex; flex-wrap: wrap;  align-content: flex-end; align-items: flex-end;}
.alinear_v_centrado{ display: flex; flex-wrap: wrap; align-items: center; }
.alinear_items_v{align-items: center;}

#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;
}

/*------- solo para menu oculto-----------------*/

.cerrar{ text-align: right;}
.cerrar a{ color:#fff; font-size: 2em;}
#menu_oculto{
    width: 100%;
    right: -100%;
    position: fixed;
    top: 0;
    z-index: 100000;
    -webkit-box-shadow: -3px 0px 50px -2px rgba(0, 0, 0, 0.14);
    -moz-box-shadow: -3px 0px 50px -2px rgba(0, 0, 0, 0.14);
    box-shadow: -3px 0px 50px -2px rgba(0, 0, 0, 0.14);
    background: rgba(0, 0, 0, 0.9);
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color:#fff;
}

.container_menu_oculto{
    padding: 20px;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#menu_oculto.abierto {    right:0;}
#accordion1 .nivel_1 { padding: 5px 0px;}
#accordion1 .nivel_1 a{text-transform:uppercase; color:#666; font-size:1.5em; font-weight: 700;}
#accordion1 .nivel_1 a:hover{ color:#fff;}
#accordion1 .nivel_1{ text-align: center;}
#accordion1 .nivel_1 .fas{ padding-left: 20px;}
#accordion1 .nivel_2{padding: 3px 0px; font-weight: 700;}
#accordion1 .nivel_2 a{text-transform:  fullwidth; color:#666;  font-size:1em; }
#accordion1 .nivel_2 a:hover{ color:#fff;}

/* Effect 5: same word slide in */

.cl-effect-5 a {
	overflow: hidden;
	padding: 0 4px;
	height: 1.4em;
}

.cl-effect-5 a span {
	position: relative;
	display: inline-block;
	-webkit-transition: -webkit-transform 0.3s;
	-moz-transition: -moz-transform 0.3s;
	transition: transform 0.3s;
}

.cl-effect-5 a span::before {
	position: absolute;
	top: 100%;
	content: attr(data-hover);
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.cl-effect-5 a:hover span,
.cl-effect-5 a:focus span {
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transform: translateY(-100%);
}

#abre-menu{float: right;}
#abre-menu:hover{color:#000;}
#abre-menu .fas{ font-size: 1em; }

.tel:hover{  color:#000;}

/*------*/


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

.alinear_abajo{ display: flex; flex-wrap: wrap;  align-content: flex-end; align-items: flex-end;}

.btn_corporativo{
    padding: 10px 50px;
    letter-spacing:0.5px;
    font-weight: 400;
    margin: 8px 0;
    text-transform: uppercase;
    text-align: center;
    display: inline-block!important;
    border-radius: 50PX!important;
    -ms-border-radius: 50PX!important;
    -moz-border-radius: 50PX!important;
    -webkit-border-radius: 50PX!important;
    -khtml-border-radius: 50PX!important;
    border:none;
}

.btn_raya_blanca{
    padding: 10px 50px;
    letter-spacing:0.5px;
    font-weight: 400;
    margin: 8px 0;
    text-transform: uppercase;
    text-align: center;
    display: inline-block!important;
    border-radius: 50PX!important;
    -ms-border-radius: 50PX!important;
    -moz-border-radius: 50PX!important;
    -webkit-border-radius: 50PX!important;
    -khtml-border-radius: 50PX!important;

}

.btn_gris{
    padding: 10px 50px;
    letter-spacing: 1px;
    font-weight: 400;
    margin: 8px 0;
    text-transform: uppercase;
    text-align: center;
    display: inline-block!important;
    border-radius: 10px!important;
    -ms-border-radius: 10px!important;
    -moz-border-radius: 10px!important;
    -webkit-border-radius: 10px!important;
    -khtml-border-radius: 10px!important;
    border:none;
    background-color: #ddd;
}

.btn_general{
    letter-spacing: 1px;
    font-weight: 400;
    padding: 10px 25px;
    font-size: 0.8em;
    margin: 8px 0;
    text-transform: uppercase;
    text-align: center;
    display: inline-block!important;
    border-radius:8px!important;

}

.centrar_v {
    margin-bottom: 20px;
}


.paginacion{ margin-top: 50px;}

/*-------------------------------footer------------------------------*/

.color_sobre_pie{position:relative; }

.elementor-shape {
    overflow: hidden;
    position: absolute;
    left: 0;
    width: 100%;
    line-height: 0;
    direction: ltr;
}

.elementor-shape[data-negative=false].elementor-shape-bottom, .elementor-shape[data-negative=true].elementor-shape-top {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.elementor-shape-bottom {
    top:-66px
}

.elementor-shape-bottom svg {
    width: calc(200% + 1.3px);
    height: 70px;
    transform: translateX(-50%) rotateY(180deg);
}

elementor-shape-bottom:not([data-negative=true]) svg {
    z-index: -1;
}
elementor-shape svg {
    display: block;
    width: calc(100% + 1.3px);
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

footer{ padding-bottom: 70px; padding-top: 50px; }
footer p{font-size: 0.9em;}

.area_pie{
    font-size:1.5em;
    margin-bottom: 15px;
    font-weight: 600;
    line-height: 1.1;
    padding-bottom: 8px;
}

.area_pie::after {
    content: '';
    height: 2px;
    width: 131px;
    display: block;
    position: relative;
    top: 15px;
    margin-bottom: 20px;
}

/*footer .zona_redes li i{font-size: 1.2em; padding: 4px 8px;}*/
.zona_redes_pie li {
    display: inline-block;
    text-align: center;
    width: 40px;
    height: 40px;
    border-radius: 50px 50px 50px 50px;
    margin-right: 5px;
    background-color: #383e47;
}
.zona_redes_pie li i { color: #fff;}
.zona_redes_pie i {
    width: 1em;
    height: 1em;
    text-align: center;
    font-size: 18px;
    line-height: 40px;
}


.caja_pie  .datos_iconos li, .caja_pie  .datos_iconos li p{ display: inline-block; vertical-align: top; font-size: 0.9em; }
.caja_pie  .datos_iconos .fas{margin-top: 3px;}

.caja_pie  .datos_iconos i{ padding-right: 8px; font-size:1.2em; }
.caja_pie .enlace{font-weight:600 ;}

#bloque_firma{padding-top: 8px; font-size:0.8em;}
#bloque_firma a{color:#666;}
#bloque_firma a:hover{color:#000;}
.firma{ text-align: right;}
footer .calidad li{ display: inline-block; vertical-align: middle;}
.calidad li img{ padding: 5px; width: 85%;}
.separar_pie p{ font-size: 0.85em;}
.calidad li span{font-size: 0.7em;}

.subvenciones p{ line-height: 180%; text-align: center; font-weight: 300; font-size: 0.8em;}
.subvenciones{border-top: 1px dotted #ccc; margin-top: 20px; padding: 20px 0;}
.subvenciones img{padding: 20px ;}


/* Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
    .fixed-top{position: relative;}
    .relleno_ambos {    padding-top: 10px;    padding-bottom: 10px;}
    #menu_principal{ text-align: center;}
    .dropdown-menu{ text-align: center;}
    .navbar-toggler {  text-align: center; margin-left: auto;  margin-right: auto;     display: block;}
    .espaciar{ align-items: center;}
    .aviso, .firma{ text-align: center;}
    .area_pie { margin-bottom: 15px;  margin-top: 40px; }
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767.98px) {
    .fixed-top{position: relative;}
    #menu_principal{ text-align: center;}
    .espaciar{ align-items: center;}
    .dropdown-menu{ text-align: center;}
    .navbar-toggler {  text-align: center; margin-left: auto;  margin-right: auto;     display: block; }
    .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) {
    .fixed-top{position: relative;}
    #menu_principal{ text-align: center; }
    .espaciar{ align-items: center;}
    .dropdown-menu{ text-align: center;}
    .navbar-toggler {  text-align: center; margin-left: auto;  margin-right: auto;   display: block; }
}

/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199.98px) {
    #menu_principal{ display: inline-block; margin-top: 3px;}
    #menu_principal .nav-link {margin:0.5em ;}
    .centrar_v{ display: flex; align-content: center; align-items: center;}
}

/* Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
    #menu_principal{ display: inline-block; margin-top: 3px;}
    .centrar_v{ display: flex; align-content: center; align-items: center;}
    .caja_pie p{text-align: justify;}
    .separar_pie{ padding-right: 40px;}
}

.fondo_gris { background-color: #FAFAFA;}
header { background-color: #FAFAFA; min-height: inherit;}

.blockquote {
    background-color: #f7173520;
    padding: 10px 15px;
    color: #666 !important;
}

.mark { background-color: #f7173520; padding: 2px;}

.title_page, .title_page_no_linea {
    font-weight: 800;
    font-size: 3.5em;
    text-transform: uppercase;
    padding-bottom: 15px;
}

.title_page::after {
    content: "";
    background-color: #333333;
    display: block;
    height: 2px;
    width: 120px;
    margin: 20px auto 0;

}

.title_page_no_linea::after {
    content: "";
    background-color: #FAFAFA;
    display: block;
    height: 2px;
    width: 120px;
    margin: 20px auto 0;
}

.cabecero_interior {
    padding: 8% 1% 4% 1%;
    color: #333;
    text-align: center;
}

.cabecero_interior .texto_principal {
    text-transform: uppercase;
    font-size: 4em;
}

.politica {
    color: #666;
    font-size: 0.8em;
}

.politica:hover { color: #000;}

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

.contenido_interior b, .contenido_interior strong { color: #333;}

.contenido_interior img {
    max-width: 100%;
    height: auto;
    margin-top: 10px;
    margin-bottom: 15px;
}

.blockquote {
    padding-bottom: 20px;
    color: #000;
    padding-top: 20px;
}

.multicolumna {
    -webkit-column-count: 2; /* Chrome, Safari, Opera */
    -moz-column-count: 2; /* Firefox */
    column-count: 2;
    -webkit-column-gap: 60px; /* Chrome, Safari, Opera */
    -moz-column-gap: 60px; /* Firefox */
    column-gap: 60px;
    -webkit-column-rule: 1px solid #ddd; /* Chrome, Safari, Opera */
    -moz-column-rule: 1px solid #ddd; /* Firefox */
    column-rule: 1px solid #ddd;
}

.list-items { margin-top: 20px;}
.list-items li { position: relative; padding-left: 25px;}
ul.list-items li i { padding-right: 5px;}
.contenido_interior ul { list-style-type: none;}

.contenido_interior ul li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f101';
    position: relative;
    margin-left: -25px; /* movemos icono a la izq */
    padding-right: 10px;

}

.banner_texto_animacion {
    align-items: center;
    display: flex;
    justify-content: center;
}

.banner_texto_animacion h2 {
    position: absolute;
    font-size: 2.5em;
}

.banner_texto_animacion border {
    color: #000;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
}

.banner_texto_animacion wave {
    color: aqua;
    animation: wave 3s ease-in-out infinite;
}

@keyframes wave {
    0%, 100% {
        clip-path: polygon(0% 47%, 10% 48%, 33% 54%, 54% 60%, 70% 61%, 84% 59%, 100% 52%, 100% 100%, 0% 100%);

    }
    50% {
        clip-path: polygon(0% 60%, 15% 65%, 34% 66%, 51% 62%, 67% 50%, 84% 45%, 100% 46%, 100% 100%, 0% 100%);
    }
}

/*.contenido_interior.web ul li::before,
.contenido_interior.a_medida ul li::before,
.contenido_interior.aplicaciones ul li::before{
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '';
    margin-right: 10px;

}Para quitar en texto centrado el adorno de lista*/

.contenido_interior.comunicacion ul li,
.contenido_interior.web ul li,
.contenido_interior.a_medida ul li,
.contenido_interior.aplicaciones ul li {
    margin-bottom: 10px;
}

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

.contenido_interior h2 {
    font-size: 2.8em;
    font-weight: 800;
    padding-bottom: 20px;
    /*text-transform: capitalize;*/
}

.contenido_interior h3 {
    font-size: 2.3em;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
    /*text-transform: capitalize;*/
}

.contenido_interior h4 { font-size: 2em; font-weight: 600;}

.contenido_interior.a_medida p, .contenido_interior.aplicaciones p, .contenido_interior.comunicacion p, .kit .contenido_interior p {
    text-align: justify;
}

.pagination .page-link { color: #666; padding: 0.375rem 0.75rem;}
.pagination .page-link:hover { color: #fff; background-color: #333;}
.pagination .page-item.active { color: #fff; background-color: #333;}
.pagination .page-item.active .page-link {
    color: #fff;
    background-color: #333;
    border-color: #333;
}

a.myanchor {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}

/*----------------------- mapa cntacto---------------------------*/

.mapboxgl-canvas { filter: grayscale(100%);}
.mapboxgl-popup-content h4 { color: #000;}
.mapboxgl-popup-content a { color: #666; border: none !important;}
.mapboxgl-popup-content .fa-location-arrow { margin-bottom: 10px; padding: 5px;}
.mapboxgl-popup-content .fa-location-arrow:before { font-size: 1.2em; color: #000;}
.mapboxgl-popup-content .fa-location-arrow:after { content: "CÓMO LLEGAR"; padding-left: 5PX; color: #000;}

/************ Titular Jumbo ********************/

.titular_jumbo { text-align: center;}
.titular_jumbo p { font-size: 1.2rem;}

/* Extra small devices (portrait phones, less than 576px)*/

@media (max-width: 575.98px) {
    .contenido_interior h2 { font-size: 1.5em;}
    .contenido_interior h3 { font-size: 1.3em;}
    .contenido_interior h4 { font-size: 1.2em;}
    .contenido_interior img { float: none !important;}
    .contenido_interior h2 { padding-bottom: 0px;}
    .title_page, .title_page_no_linea { font-size: 2em; margin-top: 30px;}
    .cabecero_interior { padding-bottom: 20px; padding-top: 20px;}
    .multicolumna {
        -webkit-column-count: 1; /* Chrome, Safari, Opera */
        -moz-column-count: 1; /* Firefox */
        column-count: 1;
    }

    .relleno_ambos { padding-top: 20px; padding-bottom: 20px;}
    .titular_jumbo p { font-size: 1rem;}
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767.98px) {
    .contenido_interior img { float: none !important;}
    .contenido_interior h2 { font-size: 1.5em;}
    .contenido_interior h3 { font-size: 1.3em;}
    .contenido_interior h4 { font-size: 1.2em;}
    .contenido_interior h2 { padding-bottom: 0px;}
    .title_page, .title_page_no_linea { font-size: 2.8em; margin-top: 30px;}

    .multicolumna {
        -webkit-column-count: 1; /* Chrome, Safari, Opera */
        -moz-column-count: 1; /* Firefox */
        column-count: 1;
    }

    .relleno_ambos { padding-top: 20px; padding-bottom: 20px;}
    .cabecero_interior { padding: 4% 1%;}
    .titular_jumbo p { font-size: 1rem;}
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991.98px) {
    .relleno_ambos { padding-top: 40px; padding-bottom: 40px;}
    .contenido_interior img { float: none !important;}
    .contenido_interior h2 { font-size: 2.1em; padding-bottom: 0px;}
    .contenido_interior h3 { font-size: 1.5em;}
    .contenido_interior h4 { font-size: 1.2em;}
    .kit2 .contenido_interior h4 { font-size: 1.2em;}
    .title_page, .title_page_no_linea { font-size: 3em; margin-top: 30px;}
    .cabecero_interior { padding: 4% 1% 2% 1%;}
    .titular_jumbo p { font-size: 1rem;}
}

/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199.98px) {
    .contenido_interior h2 { font-size: 3em;}
    .contenido_interior h3 { font-size: 2.5em;}
    .contenido_interior h4 { font-size: 2.1em;}
    .title_page, .title_page_no_linea { font-size: 4em; margin-top: 80px;}
    .titular_jumbo p { font-size: 1.1rem;}
}

/* Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width: 1399px) {
    .contenido_interior h2 { font-size: 3em;}
    .contenido_interior h3 { font-size: 2.5em;}
    .contenido_interior h4 { font-size: 2.1em;}
    .title_page, .title_page_no_linea { font-size: 5em; margin-top: 80px;}
    .cabecero_interior { padding: 10% 2% 4% 2%;}
}

/* Extra large devices (large desktops, 1400px and up)*/
@media (min-width: 1400px) {
    .title_page, .title_page_no_linea { font-size: 4.5em; margin-top: 80px;}
    .cabecero_interior { padding: 10% 2% 4% 2%;}
}






h2{font-size: 3em; color:#333;}
.contacto .fila_datos { display:grid; grid-template-columns: 60px auto; align-items:flex-start; font-size: 1.05em; font-weight: 400; padding-bottom: 20px;}
.icon{ text-align: center;
    font-size: 20px;
    width: 42px;
    height: 42px;
    line-height: 42px !important;
    border-radius: 100%;}

.contacto .fila_datos span{ font-size: 0.8em; font-weight: 300;}
.contacto .formulario{
    box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 7%);
    padding: 65px 50px 70px 50px;
    border-radius: 30px;
}

.primera_capa {
    margin-top: 20px;
    font-size: 11px;
    background-color:#f2f2f2;
    padding: 5px;
}

.primera_capa h3 {
    font-size: 13px;
}

.primera_capa .tabla {
    margin-top: 5px;
  
}

.primera_capa .row > div {
    padding: 5px;
}

.marker {
    background-size: cover;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
}

/* Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
    .relleno_bloques{ padding: 30px 10px;}
    .contacto h2, .formulario h2{font-size: 1.3em;}


}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767.98px) {
    
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991.98px) {
    .formulario {        padding: 40px 20px;    }
    .zona_contacto h2{font-size: 2em;}

}

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

}

@media (min-width: 1200px) and (max-width: 1900px) {






}

/* Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1901px) {}
