@font-face {
	font-family: 'CG21';
	src: url('fonts/HelveticaLTStd-Light_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21Condensed';
	src: url('fonts/HelveticaLTStd-LightCond_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21Regular';
	src: url('fonts/HelveticaLTStd-Roman_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21RegularCondensed';
	src: url('fonts/HelveticaLTStd-Cond_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21RegularCompressed';
	src: url('fonts/HelveticaLTStd-Comp_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21Bold';
	src: url('fonts/HelveticaLTStd-Bold_3.otf') format('opentype');
}

@font-face {
	font-family: 'CGBoldCondensed';
	src: url('fonts/HelveticaLTStd-BoldCond_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21Black';
	src: url('fonts/HelveticaLTStd-Blk_3.otf') format('opentype');
}

@font-face {
	font-family: 'CG21BlackCondensed';
	src: url('fonts/HelveticaLTStd-BlkCond_3.otf') format('opentype');
}

/*************/
/* VARIABLES */
/*************/

:root{
	--color_principal: rgba(51, 51, 51, 1);	
	--color_secundario: rgba(255, 255, 255, 1);
	--color_contraste: rgba(206, 0, 25, 1);
	--color_contraste_overlay: rgba(206, 0, 25, 0.75);
	/*--color_fondo: rgba(245, 245, 245, 1);*/
	--color_fondo: rgba(255, 255, 255, 1);
		
	--color_blanco: rgba(255, 255, 255, 1);
	--color_blanco90: rgba(255, 255, 255, 0.9);
	--color_blanco75: rgba(255, 255, 255, 0.75);
	--color_blanco50: rgba(255, 255, 255, 0.5);
	--color_blanco25: rgba(255, 255, 255, 0.25);
	
	--color_negro: rgba(0, 0, 0, 1);
	--color_negro90: rgba(0, 0, 0, 0.9);
	--color_negro75: rgba(0, 0, 0, 0.75);
	--color_negro50: rgba(0, 0, 0, 0.5);
	--color_negro25: rgba(0, 0, 0, 0.25);
	
	--color_rojo: rgba(255, 0, 0, 0.9);
	--color_verde: rgba(0, 178, 0, 0.9);
}

html, body {
    height: 100%;
    min-height: 100%;
}

*, img  {margin: 0 0 0 0;	padding: 0 0 0 0;}
img  {display: block;}

body {
	font-family: 'CG21';
	font-weight: normal;
	font-style: normal;
	font-size: 1em;
	color: var(--color_principal);
	background-color: var(--color_fondo);
	}

p {margin: 0;}

a,
a:link,
a:active,
a:visited{ 
	text-decoration:none; 
	cursor:pointer;
}

a{
	color: var(--color_principal);
}

a:hover{
	text-decoration: none;
	color: var(--color_contraste);
}

div{
	opacity: 1;	
}

img{
	display: block;
	max-width: 100%;
	max-height: 100%;
}

/* GLOBAL */

.verde{
	color: var(--color_verde);
}

.rojo{
	color: var(--color_rojo);
}

.clear, .clear1, .clear2, .clear3, .clear4, .clear5{
	position: relative;
	clear: both;
	width: 100%;
}

.clear1{
	height: 1em;
}

.clear2{
	height: 2em;
}

.clear3{
	height: 3em;
}

.clear4{
	height: 4em;
}

.clear5{
	height: 5em;
}

.clear6{
	height: 6em;
}

.tabla{
	position:relative;
	display: table;
	width: 100%;
	border-collapse:collapse;
}

.fila{
	display: table-row;
	height: 100%;
}

.celda{
	float:none !important;
	display: table-cell !important;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}

.left{
	text-align: left;
}

.right{
	text-align: right;
}

.center{
	text-align: center;
}

.top{
	vertical-align: top;
}

.bottom{
	vertical-align: bottom;
}

.nopadding{
	padding: 0px !important;
}

.nomargin{
	margin: 0px !important;
}

.sombra{
	/*-moz-border-radius: 3px 0px 0px 3px;
	-webkit-border-radius: 3px 0px 0px 3px;
	border-radius: 3px 0px 0px 3px;*/
	box-shadow: 0em 0.05em 0.1em var(--color_negro50);
}

.redondo{
	-moz-border-radius: 0.25em;
	-webkit-border-radius: 0.25em;
	border-radius: 0.25em;
}

.botones{
	position:relative;
	border: 0px;
	cursor: pointer;
	margin-left: 0.25em;
	margin-right: 0.25em;
	outline: 0;     
  	outline-style:none;     
  	outline-width:0;
	background-color: transparent;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}


.transicion{
	-webkit-transition: all 0.3s ease !important;
	-moz-transition: all 0.3s ease !important;
	-ms-transition: all 0.3s ease !important;
	-o-transition: all 0.3s ease !important;
	transition: all 0.3s ease !important;
}

/*
.transicion{
	-webkit-transition: all 0.3s linear !important;
	-moz-transition: all 0.3s linear !important;
	-ms-transition: all 0.3s linear !important;
	-o-transition: all 0.3s linear !important;
	transition: all 0.3s linear !important;
}
*/

.fancybox-close{
	padding-bottom: 0px !important;
}

.cargando{
	position:fixed;
	display: none;
	width: 102%;
	height: 102%;
	top: -1%;
	left: -1%;
	background: var(--color_negro75);
	opacity: 0.9;
	z-index: 102;
}

.cargando td{
	width: 100%; 
	height: 100%; 
	text-align: center; 
	vertical-align:middle;
}

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

/* FIN GLOBAL */

/* GLOBAL ESPECIFICO */

.close {
    position:absolute !important;
    right:1em;
    top: 0.6em;
    width: 2em;
    height: 2em;
    background-color: transparent;
    background-image: url(../img/close.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    cursor: pointer;
    z-index: 101;
}

.close:hover {
	background-image: url(../img/close2.png);
}

.page{
	position: fixed;
	height: 100%;
   min-height: 1px;
   width: 100%;
   min-width: 100%;
	overflow-y: auto;
	overflow-x: hidden;
   background-color: transparent;
   /*background-image: url(../img/fondo.jpg);*/
   background-position: center center;
   background-repeat: no-repeat;
   background-size: cover;  
   font-size: 0.95em;
}

.contenidos{
	position: relative;
   width: 90%;
   margin-left: auto;
   margin-right: auto;
}

.titulo{
	position:relative;
	float:left;
	width: auto;
	text-transform: uppercase;
	font-size: 1.1em;
	font-style: normal;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
}

.texto{
	position:relative;
	float:left;
	width: 100%;
	color: var(--color_texto);
	font-size: 1.075em;
}

.cargando{
	font-size: 1.1em;
	color: var(--color_secundario);
	font-weight: bold;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0%;
	background: var(--color_blanco);
}

.cargando img{
	width : 3em;
	height: 3em;
}

.columnas{
	position:relative;
	width: 100%;
  	clear:both;
  	-webkit-column-count: 2;
   -moz-column-count: 2;
   column-count: 2;
  	-webkit-column-gap: 2em;
   -moz-column-gap: 2em;
   column-gap: 2em;
  	text-align: justify;
  	letter-spacing: 0px;
  	vertical-align: top;
}

#centrar{
	height: 100%;
}

/* FIN GLOBAL ESPECIFICO */


/* LOGIN */


#login_page{
	position:relative;
	clear:both;
	width: 100%;
	height: 100%;
}

#login_container{
	position:relative;
	margin:auto;
	max-width: 18em;	
	top: 15%;
	padding-left: 5%;
	padding-right: 5%;
	padding-bottom: 5%;
	padding-top: 1em;
	background: var(--color_secundario);
	border: 1px solid var(--color_contraste);
	border: 1px solid var(--color_negro25);
	border-radius: 0.25em;
	-webkit-box-shadow: 0px 0px 1.25em 0px var(--color_negro25);
	-moz-box-shadow: 0px 0px 1.25em 0px var(--color_negro25);
	box-shadow: 0px 0px 1.25em 0px var(--color_negro25);
}

#login_logo{
	position:relative;
	clear:both;
	margin-top: calc(-8% - 1em);
}

#login_logo img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	/*margin-top: -18%;*/
}

#login_error{
	margin-top: 3em;
	color: var(--color_rojo);
	font-weight: bold;
	font-size: 1em;
}

#login_datos{
	position: relative;
	clear: both;
	margin-top: 3em;
}

#login_datos span{
	color: var(--color_principal);
	font-size: 1em;
	opacity: 1;
}

#login_datos input[type="text"], #login_datos input[type="password"]{
	width: 98%;
	height: 2em;	
	background: #ffffdf;
	border: 1px solid var(--color_contraste);
	border-radius: 0.25em;
	padding: 0.25em;
	margin-top: 0.25em;
	color: var(--color_principal);
}

#login_enter{
	width: 50% ;
	margin-left: 25%;
	height: 3em;
	padding: 0.25em;
	cursor: pointer;
	background: var(--color_fondo);
	border: 1px solid var(--color_contraste);
	border-radius: 0.25em;
	color: var(--color_principal);
	font-size: 1.1em;
	font-weight: bold;
}

#login_enter:hover{
	background: var(--color_contraste);
	color: var(--color_secundario);
	-webkit-box-shadow: 0px 0px 0.6em 0px var(--color_contraste50);
	-moz-box-shadow: 0px 0px 0.6em 0px var(--color_contraste50);
	box-shadow: 0px 0px 0.6em 0px var(--color_contraste50);
}

#login_pie{
	position:relative;
	clear:both;
	margin-top: 3em;
	text-align: center;
	font-size: 0.9em;
	line-height: 150%;
}

#login_pie span, #login_pie a{
	opacity: 1;
	color: var(--color_principal);
}

#login_pie a{
	color: var(--color_contraste);
}

#login_pie a:hover{
	text-decoration: underline;
}

#login_pie #enlace_icono_codigo{
	background-image: url(../img/cg21_2.png);
	background-position: right center;
	background-repeat:  no-repeat;
	background-size: 1.5em auto;
	padding-right: 1.8em;
}

/* FIN LOGIN */

#logo_cabecera{
	position:relative;
	display: inline-block;
	margin: auto;
	text-align: center;
	margin-top: 1em;
	margin-bottom: 7vw;
}

#logo_cabecera img{
	width: 90vw;
	max-width: 35em;
}

/* TECNOLOGÍAS */

.preload{
	display: none;
}

#tecnologias{
	position:relative;
	clear: both;
	width: 100%;
	margin:auto;
	text-align: center;
}

#tecnologias .tecnologia{
	position: relative;
	display: inline-block;
	width: calc(49vw - 2em);
	height: calc(49vw - 2em);
	max-width: 10em;
	max-height: 10em;
	margin: 1em;
	/*padding: 1em;*/
	background-color: var(--color_secundario);
	background-color: var(--color_contraste);
	/*
	border: 1px solid var(--color_contraste);
	border: 1px solid transparent;
	*/
	overflow:hidden;
	opacity: 1;
	border-radius: 50%;
}

#tecnologias .tecnologia{
	top: -100%;
}

#tecnologias .tecnologiab{
	top: 100%;
}


#tecnologias .tecnologia .tabla{
	height: 100%;
}

#tecnologias .tecnologia .imagen{
	width: 102%;
	height: 102%;
	margin-left: -1%;
	margin-top: -1%;
}

#tecnologias .tecnologia img{
	/*max-height: 40%;*/
	margin-left: auto;
	margin-right: auto;
}

#tecnologias .tecnologia .overlay{
	position:absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 101;
	/*background-color: var(--color_contraste);*/
	/*background-color: rgba(102, 102, 102, 1);*/
	background-color: var(--color_negro);
	color: var(--color_blanco);
	border-radius: 50%;
}

#tecnologias .tecnologia .overlay1{
	top: -100%;
	left: 0;
}

#tecnologias .tecnologia .overlay2{
	top: 100%;
	left: 0;
}

#tecnologias .tecnologia .overlay3{
	top: 0;
	left: -100%;
}

#tecnologias .tecnologia .overlay4{
	top: 0;
	left: 100%;
}

#tecnologias .tecnologia:hover{
	/*border: 1px solid var(--color_secundario);*/
	/*transform: scale(1.05);*/
}

#tecnologias .tecnologia:hover .overlay{
	top: 0;
	left: 0;
}

#tecnologias .tecnologia:hover .imagen img{
	/*transform: scale(1.1);*/
}

#tecnologias .tecnologia .contenido_overlay{
	height: 95%;
	width: 90%;
	margin: 5%;
	margin-top: 2.5%;
	margin-bottom: 2.5%;
}

#tecnologias .tecnologia .titulo, #tecnologias .tecnologia .subtitulo, #tecnologias .tecnologia .vermas{
	position:relative;
	clear:both;
	width: 90%;
	max-width: 90%;
	max-height: 100%;
	margin:auto;
	margin-left: 5%;
	overflow: hidden;
	color: var(--color_blanco);
	font-family: 'CG21';
}

#tecnologias .tecnologia .titulo{
	font-size: 1em;
	text-transform: none;
	letter-spacing: 0.05em;
}

#tecnologias .tecnologia .subtitulo{
	font-size: 1.25em;
}

#tecnologias .tecnologia .vermas{
 	width: 2.5em;
 	height: 2.5em;
 	background-size: cover;
 	background-repeat: no-repeat;
 	background-position: center;
 	background-color: transparent;
 	background-image: url(../img/vermas.png);
 	margin-left: auto;
 	margin-right: auto;
 	margin-top: 0.75em;
 	-webkit-transition: all 0.5s ease-in !important;
	-moz-transition: all 0.5s ease-in !important;
	-ms-transition: all 0.5s ease-in !important;
	-o-transition: all 0.5s ease-in !important;
	transition: all 0.5s ease-in !important;
 }
 
#tecnologias .tecnologia:hover .vermas{
	transform: rotate(90deg);
}

/* FIN CONTENIDOS */

/*


/* HOME BANNERS */

#banners, #fondo_banner{
	position:relative;
	clear:both;
	display: block;
   width:100%;
   max-width: 100%;
   height: 47em;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--color_blanco);
}

#fondo_banner{
	height: 100%;
}

#banner_anterior, #banner_siguiente{
	position:absolute;
	margin: auto;
	width: 2.5em;
	height: 4em;
	top: 0;
	bottom: 0;
	background-image: url(../img/atras.png);
	opacity: 0.75;
	z-index: 101;
}

#banner_anterior:hover, #banner_siguiente:hover{
	opacity: 1;
	background-image: url(../img/atras2.png);
}

#banner_anterior{
	left: 1em;		
}

#banner_siguiente{
	right: 1em;
	-webkit-transform: rotate(180deg);
   -moz-transform: rotate(180deg);
   -ms-transform: rotate(180deg);
   -o-transform: rotate(180deg);
   transform: rotate(180deg);
}

#banners #navegador_inferior{
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: -5.5em;
	text-align: center;
	z-index: 101;
	height: 2em;
	width: auto;
}

#banners #navegador_inferior .boton_banner{
	display: inline-block;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	margin: 0.5em;
	background-image: url(../img/cuadro_banner.png);
}

#banners #navegador_inferior .boton_banner:hover, #banners  #navegador_inferior .selected{
	background-image: url(../img/cuadro_banner2.png);
}

#banners #eslogan_banners{
	position:absolute;
	bottom: 3.5em;
	left: 1.5em;
	width: 90%;
	font-family: 'CG21BlackCondensed';
	font-size: 2em;
	color: var(--color_secundario);
	text-shadow: -1px 0 var(--color_principal), 0 1px var(--color_principal), 1px 0 var(--color_principal), 0 -1px var(--color_principal);
	z-index: 103;
}

#banners #eslogan_banners a{
    font-family: 'CG21BlackCondensed';
    text-shadow: -1px 0 var(--color_secundario), 0 1px var(--color_secundario), 1px 0 var(--color_secundario), 0 -1px var(--color_secundario);
}

#banners #eslogan_banners a:hover{
    text-decoration: underline;
}

/* FIN HOME BANNERS */


/* HOME FIRMAS */

#home_firmas{
	padding-top: 4em;
	padding-bottom: 1.5em;
}

#home_firmas #firmas_contenido{
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#home_firmas .tecnologia{
	position: relative;
	display: inline-block;
	width: 38%;
	height: 15vh;
	margin-left: 2.5%;
	margin-right: 2.5%;
	padding-left: 2.5%;
	padding-right: 2.5%;
	padding-bottom: 1em;
	padding-top: 1em;
	margin-bottom: 4vh;
	background-color: var(--color_blanco);
	overflow:hidden;
	opacity: 0;
}

#home_firmas .tecnologia{
	left: -100%;
}

#home_firmas .tecnologiad{
	left: 100%;
}

#home_firmas .tecnologia .tabla{
	height: 100%;
}

#home_firmas .tecnologia img{
	max-height: 13vh;
	margin-left: auto;
	margin-right: auto;
}

#home_firmas .tecnologia .tecnologia_overlay{
	position:absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 101;
	background-color: var(--color_negro90);
	color: var(--color_blanco);
}

#home_firmas .tecnologia .tecnologia_overlay1{
	top: -100%;
	left: 0;
}

#home_firmas .tecnologia .tecnologia_overlay2{
	top: 100%;
	left: 0;
}

#home_firmas .tecnologia .tecnologia_overlay3{
	top: 0;
	left: -100%;
}

#home_firmas .tecnologia .tecnologia_overlay4{
	top: 0;
	left: 100%;
}

#home_firmas .tecnologia:hover .tecnologia_overlay{
	top: 0;
	left: 0;
}

#home_firmas .tecnologia .contenido_overlay{
	height: 90%;
	width: 90%;
	margin: 5%;
	margin-top: 2.5%;
	margin-bottom: 2.5%;
}

#home_firmas .tecnologia .tecnologia_titulo, #firmas .tecnologia .tecnologia_subtitulo, #firmas .tecnologia .tecnologia_vermas{
	position:relative;
	clear:both;
	color: var(--color_blanco);
	font-family: 'CG21Regular';
}

#home_firmas .tecnologia .tecnologia_titulo{
	font-size: 2.5em;
}

#home_firmas .tecnologia .tecnologia_subtitulo{
	font-size: 1.25em;
}

#home_firmas .tecnologia .tecnologia_vermas{
 	width: 2.5em;
 	height: 2.5em;
 	background-size: cover;
 	background-repeat: no-repeat;
 	background-position: center;
 	background-color: transparent;
 	background-image: url(../img/vermas.png);
 	margin-left: auto;
 	margin-right: auto;
 	margin-top: 0.75em;
 	-webkit-transition: all 0.5s ease-in !important;
	-moz-transition: all 0.5s ease-in !important;
	-ms-transition: all 0.5s ease-in !important;
	-o-transition: all 0.5s ease-in !important;
	transition: all 0.5s ease-in !important;
 }
 
#home_firmas .tecnologia:hover .tecnologia_vermas{
	transform: rotate(90deg);
}

/* MODIFICACIONES MAQUETACION FIRMAS HOME */

/* V2 */
/*
#home_firmas #firmas_contenido{
	width: 70%;
}
#home_firmas .tecnologia{
	width: 21%;
}
*/

/*V3*/

#home_firmas .tecnologia .tecnologia_subtitulo{
	font-size: 1em;
}
#home_firmas .tecnologia .tecnologia_vermas{
 	width: 2em;
 	height: 2em;
 }

/* FIN MODIFICACIONES MAQUETACION FIRMAS HOME */

/* FIN HOME FIRMAS */

/* HOME EMPRESA */

#home_empresa{
	margin-top: -1px;
	/*padding-bottom: 10em;*/
	min-height: 100%;
}
/*
#home_empresa #empresa_contenido{
	position:relative;
	float:right;
	margin-top: 20em;
	margin-bottom: 10em;
	margin-right: 6em;
	width: 45%;
}
*/

#home_empresa #empresa_contenido{
	position: absolute;
	bottom: 6em;
	right: 6em;
	width: 45%;
}

#home_empresa #empresa_titulo{
	font-size: 2.5em;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}

#home_empresa #empresa_texto .celda, #home_empresa #empresa_texto_junto .celda{
	background-color: var(--color_principal);
	padding: 1vw;
	color: var(--color_secundario);
	width: 50%;
}

#home_empresa #empresa_texto .transparente{
	background: transparent;
	width: 3vw;
}

#home_empresa .celda, #home_empresa #empresa_texto_junto .celda{
	opacity: 0;
}

#home_empresa #empresa_texto_junto{
	display:none;
}

/* FIN HOME EMPRESA */

/* HOME NOTICIAS */

#home_noticias{
	padding-top: 1em;
	padding-bottom: 4em;
}

#home_noticias .logo_sello{
	top: 12em;
}

#noticias_titulo{
	padding-top: 0.25em;
	padding-bottom: 0.25em;	
}

#home_noticias #noticias_contenido{
	position:relative;
	text-align: left;
	float:right;
	max-width: 75%;
	width: 75%;
	margin-right: 6em;
}

#home_noticias .home_noticia{
	position:relative;
	float: right;
	width: 30%;
	margin-left: 1.5%;
	margin-right: 1.5%;
	background-color: var(--color_principal);
	-webkit-transition: transform 0.3s ease !important;
	-moz-transition: transform 0.3s ease !important;
	-ms-transition: transform 0.3s ease !important;
	-o-transition: transform 0.3s ease !important;
	transition: transform 0.3s ease !important;
	left: -150%;
	opacity: 0;
}

#home_noticias .home_noticia:hover{
	transform: scale(1.05);
}

#home_noticias .home_noticia a{
	color: var(--color_secundario);
}

#home_noticias .home_noticia .home_noticia_interior:hover{
	transform: scale(1.05);	
}

#home_noticias .noticia_principal{
	clear:both;
	margin-bottom: 2vw;
	width: 47%;
	left: 150%;
}

#home_noticias .home_noticia .noticia_foto{
	position:relative;
	clear:both;
	width: 100%;
	height: 10vw;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#home_noticias .noticia_principal .noticia_foto{
	height: 15vw;
}

#home_noticias .home_noticia .noticia_titulo, #home_noticias .home_noticia .noticia_texto{
	position: relative;
	clear: both;
	padding: 0.5em;
	font-family: 'CG21RegularCondensed';
	font-size: 1.25em;	
}

#home_noticias .home_noticia .noticia_texto{
	font-family: 'CG21';
	font-size: 1em;
}

/* FIN HOME NOTICIAS */

/* PIE */

#pie{
	position: relative;
	clear:both;
	width: 100%;
	margin-top: 3em;
}

#pie #pie_cenefa{
	position:relative;
	clear:both;
	width: 100%;
	height: 2vw;
	background-color: transparent;
	background-size: 100% auto;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-image: url(../img/pie_cenefa.png);
}

#pie #pie_inferior{
	position: relative;
	clear: both;
	margin: 0;
	width: 100%;
	background-color: var(--color_secundario);
	color: var(--color_principal);
	padding-bottom: 2em;
	padding-top: 1em;
	line-height: 150%;
}

#pie #pie_left{
	position: relative;
	float:left;
	font-family: 'CG21';
	font-size: 1em;
	text-align: left;
	margin-left: 3em;
}

#pie #pie_right{
	position: relative;
	float:right;
	font-family: 'CG21';
	font-size: 1em;
	text-align: right;
	margin-right: 3em;
}

#pie #pie_left .tabla{
	width: auto;
}

#pie .pie_titulo{
	font-family: 'CG21Regular';
	font-size: 1.1em;
}

#pie .pie_icono{
	font-size: 1.25em;
}

#pie .pie_mail{
	font-size: 1em;
}

#pie a:hover{
	text-decoration: underline;
}

#pie #cg21{
	background-color: transparent;
   background-image: url(../img/cg21.png);
   background-repeat: no-repeat;
   background-size: auto 80%;
   background-position: right 0.2em;
	padding-right: 2.5em;
	padding-left: 0.25em;
	line-height: 100%;
	color: var(--color_blanco);
}

#pie #cg21:hover{
	 background-image: url(../img/cg21_2.png);
	 text-decoration: none;
}

/* FIN PIE */

/* HOME NAVEGADOR */

#home_navegador{
	position: fixed;
	bottom: 1em;
	right: 2em;
	z-index: 1000;
}

#home_navegador .button_container{
	display: block;
	position: relative;
	clear: both;
	width: 4em;
	height: 2.5em;
	margin-bottom: 1em;
}

#home_navegador #up, #home_navegador #down{
	width: 100%;
	height: 100%;
	background-image: url(../img/home_arrow.png);
	opacity: 1;
	-webkit-transition: background-image 0.3s ease !important;
	-moz-transition: background-image 0.3s ease !important;
	-ms-transition: background-image 0.3s ease !important;
	-o-transition: background-image 0.3s ease !important;
	transition: background-image 0.3s ease !important;
}

#home_navegador #up:hover, #home_navegador #down:hover{
	background-image: url(../img/home_arrow2.png);
}

#home_navegador #down{
	transform: rotate(180deg);
}

#home_navegador #up{
	display: none;
}

/* FIN HOME NAVEGADOR */

/* CONTACTO */

#contacto{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	z-index: 1001;
	/*z-index: -100;*/
	background: var(--color_negro75);
	display: none;
}

#contacto #contacto_contenido{
	position: relative;
	width: 85%;
	max-height: 85%;
	margin: auto;
	padding: 2.5%;
	background: var(--color_principal);
	overflow-x: hidden;
	overflow-y: auto;
	color: var(--color_secundario);
	font-family: 'CG21';
}

#contacto #contacto_contenido .titulo{
	font-family: 'CG21Regular';
	font-size: 1.25em;
}

#contacto #contacto_contenido .celda{
	width: 45%;
}

#contacto #contacto_contenido .contacto_separador{
	width: 10%;
}

#contacto #contacto_contenido #contacto_logo img{
	max-height: 4em;
}

#contacto #contacto_contenido #datos{
	line-height: 140%;
	margin-bottom: 4em;
}

#contacto #contacto_contenido #datos .tabla .celda{
	width: auto;
}

#contacto #contacto_contenido #formulario input[type='text'], #contacto #contacto_contenido #formulario textarea{
	position:relative;	
	width: 97%;
	padding: 1.5%;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--color_secundario);
	border-left: 1px solid var(--color_secundario);
	color: var(--color_secundario);
	font-family: 'CG21';
	margin-top: 0.5em;
	margin-bottom: 1em;
}

#contacto #contacto_contenido #formulario textarea{
	line-height: 150%;
	resize: none;
	height: 15.3em;
	/*border: 1px solid var(--color_secundario);*/
}

#contacto #contacto_contenido #formulario #confirmacion .celda{
	width: auto;
}

#contacto #contacto_contenido #formulario input[type=checkbox].css-checkbox {
	display:none;
}

#contacto #contacto_contenido #formulario input[type=checkbox].css-checkbox + label.css-label {
	padding-left:1.5em;
	height:1.25em; 
	display:inline-block;
	vertical-align: top;
	line-height:1.25em;
	background-repeat:no-repeat;
	background-size: 100% auto;
	background-position: 0 0;
	cursor:pointer;
	color: #999;
}

#contacto #contacto_contenido #formulario input[type=checkbox].css-checkbox:checked + label.css-label {
	background-position: 0 -1.34em;
	}
	
#contacto #contacto_contenido #formulario label.css-label {
	background-image:url(../img/checkbox.png);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	}
	
#contacto #contacto_contenido a{
	color: var(--color_secundario);
	font-family: 'CG21Regular';
}

#contacto #contacto_contenido a:hover{
	text-decoration: underline;
}
	
#contacto #contacto_contenido #contacto_texto_aceptar{
	line-height: 150%;
}

#contacto #contacto_contenido #formulario #enviar{
	background-color: transparent;
   background-image: url(../img/enviar.png);
   background-repeat: no-repeat;
   background-size: 1.9em auto;
   background-position: left top;
	padding-right: 0.25em;
	padding-left: 2em;
	line-height: 100%;
}

#contacto #contacto_contenido #formulario #enviar:hover{
	 background-position: left bottom;
}

#contacto #contacto_contenido #formulario #respuesta_envio{
	margin-top: 1.25em;
	font-family: 'CG21Bold';
	font-size: 0.9em;
}

#contacto #contacto_contenido #contacto_legal{
	position:relative;
  	clear:both;
  	display: none;
  	font-size: 0.8em;
}

#contacto #contacto_contenido #contacto_legal .titulo_legal{
	font-family: 'CG21Bold';
}

/* FIN CONTACTO */

/* FIRMAS DETALLES */

#firma{
	position:relative;
	width: 100%;
	height: auto;
	margin-bottom: 6em;
	color: var(--color_secundario);
}

#firma #firma_logo, #firma #firma_info, #firma #firma_imagenes{
	position: relative;
	float: right;
	clear:both;
	margin-right: 3em;
	margin-top: 3em;
	width: 50%;
	padding: 2.5%;
	background: var(--color_blanco);
	text-align: right;
}

#firma #firma_logo img{
	max-width: 50%;
	max-height: 50%;
	margin-left: auto;
	max-height: 10em;
}

#firma #firma_info{
	margin-top: 0;
	padding-top: 0;
}

#firma #firma_info .titulo, #firma #firma_info .enlace, #firma #firma_info .texto, #firma #firma_info .descargas{
	position: relative;
	float: right;
	clear: both;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

#firma #firma_info .titulo{
	font-family: 'CG21RegularCondensed';
	font-size: 1.5em;
	margin-top: 0;
}

#firma #firma_info a{
	font-size: 1.1em;
	font-weight: bold;
	font-style: italic;
	-webkit-transition: all 0.3s ease !important;
	-moz-transition: all 0.3s ease !important;
	-ms-transition: all 0.3s ease !important;
	-o-transition: all 0.3s ease !important;
	transition: all 0.3s ease !important;
	color: var(--color_secundario);
}

#firma #firma_info a:hover{
	text-decoration: underline;
	transform: scale(1.05);
}

#firma #firma_info .texto, #firma #firma_info .texto a{
	font-size: 1em;
}

#firma #firma_info .texto{
	margin-top: 3em;
	margin-bottom: 1em;
	text-align: left;
}

#firma #firma_info .descargas{
	margin-top: 3em;
	/*float:left;*/
}

#firma #firma_info a.descarga{
	padding-right: 1.5em;
	background-repeat: no-repeat;
	background-size: auto 200%;
	background-position: right top;
	background-image: url(../img/download_file.png);
	padding-top: 0.15em;
	padding-bottom: 0.15em;
	line-height: 200%;
	/*white-space: nowrap;*/
}

#firma #firma_info a.descarga:hover{
	background-position: right bottom;
}

#firma #firma_info .separador_descargas{
	display: inline-block;
	width: 1.5em;
}

#firma #firma_info .aviso_tarifas{
	font-family: 'CG21Bold';
	font-style: italic;
}

#firma #firma_info .aviso_tarifas a{
	color: var(--color_negro50);
}

#firma #firma_info .aviso_tarifas a:hover{
	color: var(--color_negro);
}


#firma #firma_imagenes{
	float: left;
	text-align: center;
	margin-left: 3em;
	width: calc(100% - 6em);
	padding: 0px;
	background-color: transparent;
}

#firma #firma_imagenes .tecnologia_imagen{
	position:relative; 
	float:left;
   width: 16.66%;
   cursor: pointer;
   text-align: center;
   overflow:hidden;
   min-height: 15.25vw;
   /*background-color: var(--color_negro90);*/
}

#firma #firma_imagenes .tecnologia_imagen .div_foto{
	position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
	height: 100%;
}

#firma #firma_imagenes .tecnologia_imagen .div_foto .circular{
	overflow: hidden;
	-webkit-mask-image: -webkit-radial-gradient(circle, white, black);
}

#firma #firma_imagenes .tecnologia_imagen .div_foto .circular div{
	height: 100%;
	background-repeat:no-repeat;
	background-size: cover;
	background-position: center center;
	z-index: -1;
}

#firma #firma_imagenes .tecnologia_imagen .div_foto .circular div img{
	min-height: 100%;
	min-width: 100%;
}

#firma #firma_imagenes .tecnologia_imagen:hover .div_foto{
   /*width: 95%;
   height: 95%;*/
}

#firma #firma_imagenes .tecnologia_imagen:hover .div_foto .circular{	
	/*border-radius: 50%;*/
}

#firma #firma_imagenes .tecnologia_imagen:hover .div_foto .circular div{	
	transform: scale(1.25);
}

#firma #firma_imagenes .tecnologia_imagen .div_foto .circular div .tecnologia_img_overlay{	
	position: absolute;
	top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
	height: 0px;
	width: 0px;
	z-index: 10;
	background-color: var(--color_blanco);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 30% auto;
	background-image: url(../img/ampliar.png);
	border-radius: 50%;
	opacity: 0.75;
}

#firma #firma_imagenes .tecnologia_imagen:hover .div_foto .circular div .tecnologia_img_overlay{
	width: 55%;
	height: 55%;
}

.transicion_firmas{
	-moz-transition: all 0.2s linear;
   -o-transition: all 0.2s linear;
   -webkit-transition: all 0.2s linear;
   transition: all 0.2s linear;
}

/* FIN FIRMAS DETALLES */

/* NOTICIAS LISTADO */

#blog{
	position:relative;
	width: calc(100% - 6em);
	height: auto;
	margin-bottom: 3em;
	padding: 3em;
}

#blog #blog_categorias, #blog #blog_noticias, #blog #blog_pages{
	position:relative;
	clear:both;
	margin-top: 3em;
	width: 100%;
}

#blog #blog_categorias{
	margin-top: 0;
	text-align: right;
}

#blog #blog_categorias .categoria{
	position:relative;
	display: inline-block;
   margin: 0.5em;   
   font-family: 'CG21';
   font-weight: bold;
   font-size: 1em;
   background-color: var(--color_secundario);
   -moz-border-radius: 0.25em;
   -webkit-border-radius: 0.25em;
   border-radius: 0.25em;
   box-shadow: 0em 0.05em 0.1em var(--color_negro75);
}

#blog #blog_categorias .ver_todo{
   margin-left: 2em;   
}

#blog #blog_categorias .categoria:hover, #blog #blog_categorias .selected{
	background-color: var(--color_principal);
	box-shadow: 0em 0em 0em var(--color_negro75);
}

#blog #blog_categorias .categoria:hover span, #blog #blog_categorias .selected span{
	border-bottom: double var(--color_secundario);	
}


#blog #blog_categorias .categoria:hover a, #blog #blog_categorias .selected a{
	color: var(--color_secundario);
}

#blog #blog_categorias .categoria .celda{
	padding: 0.75em;
	padding-left: 4em;
	padding-right: 2.5em;
	background-repeat: no-repeat;
	background-position: 2em center;
	background-size: auto 50%;
	background-image: url(../img/blog_categoria2.png);
}

#blog #blog_categorias .categoria:hover .celda, #blog #blog_categorias .selected .celda{
	background-image: url(../img/blog_categoria.png);
}

#blog .noticia, #blog .noticiai{
	position:relative;
	float: left;
	text-align: right;
	clear:both;
	width: 60%;
	color: var(--color_secundario);
	overflow: hidden;
	margin-bottom: 3em;
	background-color: var(--color_principal);
}

#blog .noticiad{
	float:right;
	text-align: left;
}

#blog .noticia a{
	color: var(--color_secundario);
}

#blog .noticia .noticia_foto{
	background-position: center center;
	background-size: cover;
	height: 25vw;
}

#blog .noticia:hover .noticia_foto{
	transform: scale(1.05);
}

#blog .noticia .noticia_titulo, #blog .noticia .noticia_texto, #blog .noticia .noticia_ver_mas{
	position: relative;
	clear: both;
	padding: 1em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	font-family: 'CG21RegularCondensed';
	font-size: 1.25em;
	z-index: 10;
	background-color: var(--color_principal);
}

#blog .noticia .noticia_fecha{
	/*display: inline-block;
	margin-left: 0.25em;*/
	font-family: 'CG21Condensed';
	font-size: 0.75em;
	font-style: italic;
}

#blog .noticia .noticia_texto{
	font-family: 'CG21';
	font-size: 1em;
}

#blog .noticia .noticia_ver_mas{
	float: left;
}

#blog .noticiad .noticia_ver_mas{
	float: right;
}

#blog .noticia .noticia_ver_mas .noticia_flecha{
	position:relative;
	float: right;
	width: 1.5em;
	height: 1.5em;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 1.5em auto;
	background-image: url(../img/ampliar_noticia.png);
	margin-left: 0.25em;
	margin-top: -0.1em;
}

#blog .noticia:hover .noticia_ver_mas {
	text-decoration: underline;
}

#blog .noticia:hover .noticia_ver_mas .noticia_flecha {
	transform: rotate(90deg);
}

#blog #blog_pages{
	width: auto;
	margin:auto;
	text-align: center;
}

#blog #blog_pages .blog_pagina{
	position: relative;
	display: inline-block;
	border-radius: 15%;
	background-color: var(--color_secundario);
	padding: 0.25em;
	font-family: 'CG21Regular';
	font-size: 1.25em;
	text-align: center;
	color: var(--color_principal);
	width: 1.5em;
	height: 1.5em;
	margin-left: 0.25em;
	margin-right: 0.25em;
}

#blog #blog_pages .blog_pagina .tabla{
	/*margin-top: 0.15em;*/
}

#blog #blog_pages .blog_pagina:hover, #blog #blog_pages .selected{
	background-color: var(--color_principal);
	color: var(--color_secundario);
}

#blog #blog_pages .blog_pagina:hover span, #blog #blog_pages .selected span{
	border-bottom: double var(--color_secundario);
}

#blog .sin_resultados{
	position:relative;
	clear: both;
	margin: auto;
	text-align: center;
	font-family: 'CG21BlackCondensed';
	font-size: 2em;
	color: var(--color_secundario);
	text-shadow: -1px 0 var(--color_principal), 0 1px var(--color_principal), 1px 0 var(--color_principal), 0 -1px var(--color_principal);
	min-height: 14.65vw;
	height: 14.65vw;
}

#blog .sin_resultados .tabla{
	height: 100%;
}

video::-internal-media-controls-download-button {
    display:none !important;
}

video::-webkit-media-controls {
    overflow: hidden !important
}
video::-webkit-media-controls-enclosure {
    width: calc(100% + 32px);
    margin-left: auto;
}

/* FIN NOTICIAS LISTADO */

/* NOTICIAS DETALLE */

#blog #noticia_contenido{
	width: 100%;
	margin-bottom: 3em;
}

#blog #noticia_contenido #noticia_info{
	position:relative;
	float: right;
	text-align: right;
	clear:both;
	width: 75%;
	color: var(--color_secundario);
	margin-top: 3em;
	margin-bottom: 3em;	
	background-color: var(--color_principal);
}

#blog #noticia_contenido a{
	color: var(--color_secundario);
}

#blog #noticia_contenido .noticia_foto{
	position:relative;
	clear: both;
	width: 100%;
	height: auto;	
}

#blog #noticia_contenido .noticia_foto img, #blog #noticia_contenido .noticia_foto video{
	width: 100%;
	max-width: 100%;
}

#blog #noticia_contenido .noticia_titulo, #blog #noticia_contenido .noticia_texto{
	position: relative;
	clear: both;
	padding: 1em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	font-family: 'CG21RegularCondensed';
	font-size: 1.25em;
	background-color: var(--color_principal);
}

#blog #noticia_contenido .noticia_fecha{	
	font-family: 'CG21Condensed';
	font-size: 0.75em;
	font-style: italic;
}

#blog #noticia_contenido .noticia_texto{
	font-family: 'CG21';
	font-size: 1em;
}

#blog #noticia_imagenes{
	position:relative;
	clear:both;
	float: left;
	width: 100%;
	text-align: center;
	padding: 0px;
	background-color: transparent;
}

#blog #noticia_imagenes .noticia_imagen{
	position:relative; 
	float: right;
   width: 16.66%;
   cursor: pointer;
   text-align: center;
   overflow:hidden;
   min-height: 15.25vw;
   /*background-color: var(--color_negro90);*/
}

#blog #noticia_imagenes .noticia_imagen .div_foto{
	position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
	height: 100%;
}

#blog #noticia_imagenes .noticia_imagen .div_foto .circular{
	overflow: hidden;
	-webkit-mask-image: -webkit-radial-gradient(circle, white, black);
}

#blog #noticia_imagenes .noticia_imagen .div_foto .circular div{
	height: 100%;
	background-repeat:no-repeat;
	background-size: cover;
	background-position: center center;
	z-index: -1;
}

#blog #noticia_imagenes .noticia_imagen .div_foto .circular div img{
	min-height: 100%;
	min-width: 100%;
}

#blog #noticia_imagenes .noticia_imagen:hover .div_foto{
   /*width: 95%;
   height: 95%;*/
}

#blog #noticia_imagenes .noticia_imagen:hover .div_foto .circular{	
	/*border-radius: 50%;*/
}

#blog #noticia_imagenes .noticia_imagen:hover .div_foto .circular div{	
	transform: scale(1.25);
}

#blog #noticia_imagenes .noticia_imagen .div_foto .circular div .noticia_img_overlay{	
	position: absolute;
	top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
	height: 0px;
	width: 0px;
	z-index: 10;
	background-color: var(--color_blanco);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 30% auto;
	background-image: url(../img/ampliar.png);
	border-radius: 50%;
	opacity: 0.75;
}

#blog #noticia_imagenes .noticia_imagen:hover .div_foto .circular div .noticia_img_overlay{
	width: 55%;
	height: 55%;
}

#blog #noticia_imagenes .noticia_imagen .overlay_video{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9 !important;
	background: var(--color_negro25);
	background-size: 100% auto;
	background-position: center center; 
	background-repeat: no-repeat;
	background-image: url(../img/overlay_video.png);
	display: none;
}

#blog #noticia_imagenes .noticia_imagen .visible{
	display: block;
}

#blog #noticia_imagenes .noticia_imagen:hover .overlay_video{
	display: none;
}

.transicion_blog{
	-moz-transition: all 0.2s linear;
   -o-transition: all 0.2s linear;
   -webkit-transition: all 0.2s linear;
   transition: all 0.2s linear;
}
/* FIN NOTICIAS DETALLE */

/* INICIO DE LEY DE COOKIES */

.cc-cookies { 
	position: fixed; 
	clear:both;
	opacity: 1; 
	width: 100%; 
	left: 0; 
	top: 0; 
	padding-top: 0.5em; 
	padding-bottom: 0.5em; 
	background: var(--color_negro75); 
	color: var(--color_blanco); 
	font-size: 0.95em; 
	z-index: 999; 
	text-align: center; 
	}
	
.cc-cookies a, .cc-cookies a:hover { 
	padding: 0.5em;
	color: var(--color_blanco);
	text-decoration: underline; 
	}
	
.cc-cookies a:hover { 
	text-decoration:none; 
	}
	
.cc-cookies a.cc-cookie-accept, .cc-cookies-error a.cc-cookie-accept, .cc-cookies a.cc-cookie-decline, .cc-cookies-error a.cc-cookie-decline, .cc-cookies a.cc-cookie-reset { 
	display: inline-block; 
	color: var(--color_blanco); 
	text-decoration: none; 
	background: #7DAF3B; 
	padding: 0.25em 0.25em; 
	padding-left: 1em;
	padding-right: 1em;
	border-radius: 0.25em; 
	-webkit-transition: all 0.3s ease !important;
	-moz-transition: all 0.3s ease !important;
	-ms-transition: all 0.3s ease !important;
	-o-transition: all 0.3s ease !important;
	transition: all 0.3s ease !important;
	}
	
.cc-cookies a:hover.cc-cookie-accept, .cc-cookies-error a:hover.cc-cookie-accept, .cc-cookies a:hover.cc-cookie-decline, .cc-cookies-error a:hover.cc-cookie-decline, .cc-cookies a:hover.cc-cookie-reset { 
	background: #A3D900; 
	}

#popup {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	z-index: 1001;
	background: var(--color_negro75);
	display: none;
}

.content-popup {
   position: relative;
	width: 85%;
	max-height: 85%;
	margin: auto;
	padding: 2.5%;
	background: var(--color_principal);
	overflow-x: hidden;
	overflow-y: auto;
	color: var(--color_secundario);
	font-family: 'CG21';
	border-radius: 0.25em;
	font-size: 0.9em;
}

#popup a{
	color: var(--color_negro50);
	font-weight: bold;
	font-style: italic;
}

#popup a:hover{
	text-decoration: underline;
}

.textocookie, .cookieblanco{ font-style:italic; font-size:0.9em; line-height:0.9em;}

/* FIN DE LEY DE COOKIES */

/* RESPONSIVE */

@media screen and (max-width: 1024px) {

	.cc-cookies a.cc-cookie-accept, .cc-cookies a.cc-cookie-decline, .cc-cookies a.cc-cookie-reset { 
		display: table; 
		margin: 0.5em 0; 
		margin-left: auto;
		margin-right: auto;
		padding-left: 2em;
		padding-right: 2em;
	}
	.cc-cookies {		
		clear:both; 
	}
	
	#home_navegador .button_container{
		width: 3em;
		height: 1.75em;
	}
	
	#banners{
		height: 35em;
	}
	
	.logo_sello{
		display: none;
	}
	
	#home_firmas #firmas_contenido{
		width: 90%;
	}
	
	#home_empresa #empresa_contenido{
		width: 70%;
		/*margin-top: 20em;*/
	}
	
	#home_noticias #noticias_contenido{
		width: 80%;
		max-width: 80%;
		margin-right: 10%;
	}
	
	#firma #firma_logo img{
		max-width: 75%;
	}
	
	
}

@media screen and (max-width: 768px) {	

	#home_firmas .tecnologia .tecnologia_titulo {
    	font-size: 1.5em;
	}
	
	#home_firmas .tecnologia .tecnologia_subtitulo {
    	font-size: 1em;
	}
	
	#home_firmas .tecnologia .tecnologia_vermas{
		width: 1.5em;
		height: 1.5em;
		margin-top: 0.25em;
	}
	
	#home_empresa #empresa_contenido{
		/*margin-top: 25em;*/
	}
	
	#home_noticias .home_noticia{
		width: 60%;
		margin-bottom: 2em;
	}
	
	#home_noticias .noticia_principal{
		width: 80%;
	}
	
	#home_noticias .home_noticia .noticia_titulo {
		font-size: 1em;
	}
	
	#home_noticias .home_noticia .noticia_texto{
		font-size: 0.9em;
	}
	
	#home_noticias .home_noticia .noticia_foto{
		height: 25vw;
	}
	
	#home_noticias .noticia_principal .noticia_foto{
		height: 30vw;
	}
	
	#pie #pie_left, #pie #pie_right{
		float: none;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		clear: both;
	}
	
	#pie #pie_right{
		margin-top: 3em;
		text-align: left;
		font-size: 0.9em;
	}
	
	#pie #cg21{	
		display: inline-block;
		background-size: auto 100%;
   	background-position: right center;
   	padding-right: 2.25em;
   	padding-left: 0;    
   	margin-top: 3em;
	}
	
	#home_pie_cg21_separacion{
		display:none;
	}
	
	#contacto #contacto_contenido{
		padding: 5%;
		max-height: 90%;
	}
	
	#contacto #contacto_contenido .celda{
		display: block !important;
		float: left !important;
		clear: both !important;
		width: 100% !important;
	}
	
	#contacto #contacto_contenido #datos .celda .tabla .celda{
		float: none !important;
   	display: table-cell !important;
   	width: auto !important;
	}
	
	#contacto #contacto_contenido #contacto_logo{
		margin-bottom: 1em;
	}
	
	#contacto #contacto_contenido #datos{
		margin-bottom: 3em;
	}
	
	#contacto #contacto_contenido .clear2{
		height: 1em;
	}
	
	#contacto #contacto_contenido #formulario #confirmacion .celda{
		float: none !important;
   	display: table-cell !important;
   	width: auto !important;
	}
	
	#blog {
    width: calc(90% - 2em);
    margin-left: auto;
    margin-right: auto;
    padding: 1em;
	}
	
	#blog #blog_categorias{
		text-align: center;
	}
	
	#blog .noticia, #blog .noticiad {
   	float: left;
    	text-align: left;
    	width: 100%;
   }
   
   #blog .noticia .noticia_foto {
   	height: 35vw;
	}
   
   #blog .noticia .noticia_ver_mas {
   	float: right;
	}
	
	#blog #blog_categorias .ver_todo {
   	margin-left: 0;
	}
	
	#blog #noticia_contenido #noticia_info {
   	float: leftt;
   	text-align: left;
   	width: 100%;
   }
   
   #blog #noticia_imagenes .noticia_imagen, #firma #firma_imagenes .tecnologia_imagen {
   	float: left;
   	width: 25%;
   	min-height: 20vw;
	}
	
	#firma #firma_logo, #firma #firma_info, #firma #firma_imagenes {
   	float: none;
		width: calc(90% - 2em);
		margin-left: auto;
    	margin-right: auto;
    	padding: 1em;
	   text-align: left;
	}
	
	#firma #firma_info .titulo, #firma #firma_info .enlace, #firma #firma_info .texto, #firma #firma_info .descargas{
		float: left;
	}
		
	#firma #firma_logo img{
		margin-left: 0;
	}


	
}

@media screen and (max-width: 640px) {
	
	.content-popup{
		font-size: 0.8em;
	}

	#menu{
		/*margin-top: 1em;*/
	}
	
	#menu .fila .celda{
		position:relative !important;
		display: block !important;
		clear: both;
		text-align: center;
	}
	
	#menu #enlaces{
		padding-bottom: 0.5em;
	}


	#banners{
		height: 25em;
	}
	
	#banners #eslogan_banners{
		width: 80%;
		font-size: 1.5em;
		top: 1.5em;
	}
	
	#home_firmas{
		padding-top: 2em;
	}
	
	#home_firmas .tecnologia{
		/*height: 20vw;*/
	}	
	
	#home_firmas .tecnologia{
		width: 90%;
	}
	
	#home_firmas .tecnologia .contenido_overlay{
		margin-top: 1%;
	}
	
	#home_firmas .tecnologia img{
		/*max-height: 15vw;*/
	}
	
	#home_empresa #empresa_contenido{
		width: 70%;
		margin: auto;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin-top: 3em;
	}
	
	#home_empresa #empresa_texto{
		display: none;
	}
		
	#home_empresa #empresa_texto_junto{
		display: block;
	}	
	
	#pie #pie_cenefa{
		height: 4vw;
   	background-size: auto 100%;
	}
	
	 #blog #noticia_imagenes .noticia_imagen, #firma #firma_imagenes .tecnologia_imagen {
   	width: 33%;
   	min-height: 25vw;
	}
	
	
}

@media screen and (max-width: 480px) {
	
	#banners{
		height: 20em;
	}
	
	#banners #eslogan_banners{
		font-size: 1.25em;
	}
	
	#home_firmas .tecnologia .tecnologia_titulo {
    	font-size: 1.25em;
	}
	
	#home_firmas .tecnologia .tecnologia_subtitulo {
    	font-size: 0.9em;
	}
	
	#home_empresa #empresa_contenido{			
		width: 90%;
	}
	
	#home_noticias #noticias_contenido{
		width: 90%;
		max-width: 90%;
		margin-right: 5%;
	}
	
	#home_empresa #empresa_titulo, #noticias_titulo{
		font-size: 1.75em;
	}
	
	#home_empresa #empresa_texto_junto{
		font-size: 0.9em;
		text-align: left;
	}
	
	#home_empresa #empresa_texto_junto .celda{
		padding: 3vw;
	}
	
	#home_noticias .home_noticia, #home_noticias .noticia_principal{
		width: 100%;
		margin: 0;
		margin-bottom: 1.5em;
	}
		
	#home_noticias .home_noticia .noticia_foto, #home_noticias .noticia_principal .noticia_foto{
		height: 50vw;
	}
	
	#pie{
		font-size: 0.9em;
	}
	
	#contacto #contacto_contenido{
		font-size: 0.9em;
	}
	
	#contacto #contacto_contenido #datos{
		font-size: 0.9em;
	}
	
	.columnas{		
    	-webkit-column-count: 1;
    	-moz-column-count: 1;
    	column-count: 1;
	}
	
	#blog #blog_categorias, #blog .noticia, #blog .noticiad, #blog #noticia_contenido {
   	font-size: 0.9em;
   }
   
   #blog #noticia_imagenes .noticia_imagen, #firma #firma_imagenes .tecnologia_imagen {
   	width: 50%;
   	min-height: 30vw;
	}
	
	#firma #firma_logo img{
		max-width: 100%;
	}
	
	#firma #firma_info{
		font-size: 0.9em;
	}
	
}

	
}


@media screen and (max-height: 320px) {

}
