/*
=====================================================================
*   Listadotren.es 2018
*   url: inventario.portugalferroviario.net - Estilos web completa
*   01/01/2018 --> Modificado 21/07/25
=====================================================================

A. FUENTES WEB
B. RESET
C. ESTILOS POR DEFECTO
   0. Especificaciones generales
   1. Plantilla
   2. Elementos en plantilla
   3. De uso general
   4. Enlaces
   5. Tablas
   6. Formularios
   7. Otros

Z. Media Queries

===================================================================== */

/* ------------------------------------------------------------------ */
/* A. FUENTES WEB
 -------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css?family=Fenix');
@import url('https://fonts.googleapis.com/css?family=PT+Sans:400,700');

 /* ------------------------------------------------------------------
/* B. RESET
      Adaptación de:
      Normalize.css - https://github.com/necolas/normalize.css/
      HTML5 Doctor Reset - html5doctor.com/html-5-reset-stylesheet/
/* ------------------------------------------------------------------ */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
   display: block;
}

audio,
canvas,
video {
   display: inline-block;
}

audio:not([controls]) {
   display: none;
   height: 0;
}

[hidden] { display: none; }

code, kbd, pre, samp {
   font-family: monospace, serif;
   font-size: 1em;
}

pre {
   white-space: pre;
   white-space: pre-wrap;
   word-wrap: break-word;
}

blockquote, q { quotes: "“" "”" "‘" "’"; }

blockquote:before, blockquote:after,
q:before, q:after {
   content: '';
   content: none;
}

ins {
   background-color: #ff9;
   color: #000;
   text-decoration: none;
}

mark {
   background-color: #F1EE78;
   color: #555;
}

del { text-decoration: line-through; }

abbr[title], dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
}

table {
   border-collapse: separate;
   border-spacing: 0;
}

/* ------------------------------------------------------------------ */
/* C. ESTILOS WEB
/* ------------------------------------------------------------------ */

/* 0. ESPECIFICACIONES GENERALES --- */
.clear {clear: both;}
.noseve {display:none;}
.solomovil {display:none;}
.exceptomovil {display:initial;}
.enlinea {display:inline;}
.clearfix {display: inline-table;}
.centrado {text-align:center;}
.izquierda {text-align:left;}
.cajacentro {text-align:center; margin: 0 auto;}
.amarillo {background: #E3F75E;}
.verdeclaro {background: #BAD1FF;}
.blanco {background: #fff;}
.blancovia {background: #fff url(../imx/via_brillo.png) repeat-y top left;}
ul.no_bullets {list-style: none;}
.floatleft {float: left;}
.subrayado {text-decoration: underline;}

h1, h2, h3, h4, h5, h6 {
   text-rendering: optimizeLegibility;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
h1 { font-size: 34px;}
h2 { font-size: 28px;}
h3 { font-size: 20px;}
h4 { font-size: 18px;}
h5 { font-size: 16px;}
h6 { font-size: 14px;}

small { font-size: 11px; line-height: inherit; }
hr { border: solid #000; border-width: 1px 0 0; clear: both; margin: 10px 0; height: 0; }

.spacer5 {height: 5px;}
.spacer {height: 20px;}

.ancho100 {width: 100%;}
.ancho80 {width: 80%;}
.ancho75 {width: 75%;}
.ancho70 {width: 70%;}
.ancho60 {width: 60%;}
.ancho50 {width: 50%;}
.ancho30 {width: 30%;}
.ancho25 {width: 25%;}
.ancho20 {width: 20%;}
/* 0.1.- imaxes --------------------- */
img,
video,
iframe,
embed,
object {
   max-width: 100%;
   /*height: auto;*/
}
.shadow {
    -moz-box-shadow: 3px 3px 4px #111;
    -webkit-box-shadow: 3px 3px 4px #111;
    box-shadow: 3px 3px 4px #111;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#111111')";  /* IE 8 */
    filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#111111');  /* IE 5.5 - 7 */
}
.maxancho {
max-width: 1050px;
height: auto;
}
.max1050 {
max-width: 1050px;
}
/* 0.2.- Enlaces -------------------------------*/
A:link,
A:visited,
A:active {
	text-decoration: none;
	color: #0D45AC;
}

A:hover {
	text-decoration: underline;
	color: #0D45AC;
}
/* 1. Plantilla ------------------------------------------- */
*,
*:before,
*:after {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}
html {
  height: 100%;
}
body {
    background: #F0F0F0 url("../imx/bodyfondo.png") repeat-y fixed center;
    font-family: 'Fenix', serif;
    font-weight: normal;
    font-size: 15px;
    -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
    -webkit-text-size-adjust: 100%;
    display: flex;
    flex-direction: column;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: column; /* Safari 6.1+ */
    height: 100vh; /* Avoid the IE 10-11 `min-height` bug. */
}
#contenedor {
    width: 1050px;
   	margin: 0 auto;
    flex: 1 0 auto; /* Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
    background-color: #ffffff;
    background-image: url("../imx/via_verde.png");
    background-repeat: repeat-y;
    background-origin: border-box;
}
header.header_main {
    height:90px;
    background: #BAD1FF url(../imx/imxcab1050.jpg) no-repeat top left;
}
nav.nav-main {
    display: flex;
    flex-direction: row;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: row; /* Safari 6.1+ */
    justify-content: space-between;
}
nav.nav_mobile {display: none;}

main {
    display: flex;
    flex-direction: row;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: row; /* Safari 6.1+ */
}

aside {
    float: left;
    flex: 275px;
}

section {
    float: left;
    flex: 1 100%;
}
footer {
    clear: both;
    margin-bottom: 0;
    padding-bottom: 1.2em;
    width: 1050px;
   	margin: 0 auto;
    flex-shrink: 0; /* Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
    background-color: #cbcbcb;
    background-image: url("../imx/via_footer.png");
    background-repeat: repeat-y;
    background-origin: border-box;
    text-align:center;
}

/* 2. Elementos en plantilla --------------------------------------------- */

/* 2.1 HEADER --------------------------------------------- */
.posicionador_cabecera {
    position: relative;
}
#enlace-logo, #enlace-logo h1, #enlace-logo h1 a {
	display: block;
	width: 260px;
	height: 50px;
}
#enlace-logo h1 span {
	display: none;
}

.tituloindex {
	font-size: 16pt; /*1.07em*/
	font-weight: bold;
	color: #0D45AC;
	position:relative;
    margin-top:10px;
    padding-left:2px;
	font-family: verdana;
    width: 100%;
}
#buscador {
    position: absolute;
    top: 6px;
    right: 0;
    width: 210px;
    height: 30px;
    padding-right: 10px;
}
#SearchButton {
	background: url(../imx/btn_lupa.gif) no-repeat;
	width: 33px;
	height: 22px;
	border: 0;
}
#lupa_listado {
    box-sizing: border-box;
    background-image: url('../imx/searchicon.png');
    background-position: 1px 0px;
    background-repeat: no-repeat;
    font-size: 14px; /*1.07em*/
    border: none;
    width: 120px;
    height: 22px;
    top:0;
    vertical-align:top;
}
#buscagoogle {
    margin-left: 0px; /* Colocacion lupa en línea para firefox*/
}
/* 2.1.1 Menu usuario ---*/
#login_user {
    position: absolute;
    top: 34px;
    right: 0;
    width: 210px;
    height: 30px;
    padding-right: 10px;
    z-index: 10;
}
nav.login_user ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
nav.login_user ul a
{
	display:block;
	color:#222;
	padding:3px 10px;
    border-bottom: 1px solid #0D45AC;
}
nav.login_user ul li
{
	position:relative;
	float:left;
	margin:0;
	padding:0;
}
nav.login_user ul li:hover
{
	background-color: #7096B3;
}
nav.login_user ul ul
{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	background:#fff;
	padding:0;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.4);
}
nav.login_user ul ul li
{
	float:none;
	width:180px;
}
nav.login_user ul ul a
{
	line-height:110%;
	padding:10px 10px;
}

nav.login_user ul li:hover > ul
{
	display:block;
}
/* 2.1.2 Botones compartir */
.ico-share {
           vertical-align: middle;
           border: 0;
        }
.imx-redes {
    width: 16px;
    height: 16px;
}
/* 2.1.3 Formulario de búsqueda listadotren */
form.search {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

input.search {
    background: url("../imx/buscalogo.jpg") no-repeat #fff;
    background-position: 4px center;
    height: 22px;
    line-height: 22px;
    border: 1px solid #ccc;
    font-size: 14px;
}
/* 2.2 BARRA NEGRA (NAV 1) --------------------------------------------- */
.barranegra {
	background: #000 url("../imx/degblack.jpg") repeat-x;
	display:block;
	color: #FFF;
	font-family: verdana;
	font-size: 8pt; /*0.53em*/
	font-weight: bold;
	height: 1.6em;
	margin: 0;
}
ul#estasaqui, ul#linguas {
    list-style: none;
}
ul#estasaqui img {vertical-align: middle;}

ul.nav-horizontal li {display:inline;}
ul.nav-horizontal li a {text-decoration:none; color: #FFF;}

ul.nav-horizontal li a:hover,
ul.nav-horizontal li a:active,
ul.nav-horizontal li a:focus {
	text-decoration: underline;
	color: #fff;
}
/* 2.3 BARRA GRIS (NAV MOBILE) --------------------------------------------- */
nav.nav_mobile
{
    background: #646464; /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(#646464, #B6B6B6); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(#646464, #B6B6B6); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(#646464, #B6B6B6); /* For Firefox 3.6 to 15 */
    background: linear-gradient(#646464, #B6B6B6); /* Standard syntax (must be last) */
}
nav.nav_mobile ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
nav.nav_mobile ul a
{
	display:block;
	color:#333;
	padding:4px 10px;
}
nav.nav_mobile ul li
{
	position:relative;
	float:left;
	margin:0;
	padding:0;
}
nav.nav_mobile ul li:hover
{
	background-color: #959595;
}
nav.nav_mobile ul ul
{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	background:#fff;
	padding:0;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 10;
}
nav.nav_mobile ul ul li
{
	float:none;
	width:180px;
}
nav.nav_mobile ul ul a
{
	line-height:120%;
	padding:10px 15px;
}
nav.nav_mobile ul ul ul
{
	top:0;
	left:100%;
}
nav.nav_mobile ul li:hover > ul
{
	display:block;
}
#myInput {
    box-sizing: border-box;
    background-image: url('../imx/searchicon.png');
    background-position: 14px 12px;
    background-repeat: no-repeat;
    font-size: 16px; /*1.07em*/
    padding: 14px 20px 12px 12px;
    margin-left: -100px;
    border: none;
    width: 200px;
}
/* 2.4 Zonas GRIS --------------------------------------------- */
.engris {
	font-family: verdana, Arial, sans-serif;
	color: #4B4B4B;
    font-size: 8pt; /*0.53em*/
    font-weight: bold;
}

p.engris a,
p.engris a:link,
p.engris a:visited {
	text-decoration: none;
	color: #0D45AC;
}

p.engris a:hover,
p.engris a:active,
p.engris a:focus {
	color: #0D45AC;
	text-decoration: underline;
}
ul.engris {
	list-style: none;
	font-family: verdana, Arial, sans-serif;
    font-size: 9pt;
}
.separa-top {
    padding-top: 1.4em;
}
/* 2.5 Navegación lateral --------------------------------------------- */
/* 2.5.1.- nav lateral vertical */
ul.nav {
	list-style: none;
	font-family: verdana, Arial, sans-serif;
    font-size: 10pt; /*0.67em*/
    font-weight: bold;
}

ul.nav li {
	padding: 0;
	margin: 0;
}

ul.nav a,
ul.nav a:link,
ul.nav a:visited {
	color: #0D45AC;
	display: block;
	margin: 0;
	text-align: left;
	text-decoration: none;
	line-height: 1.3em;
	padding: 0.2em 0.2em 0.2em 0.5em;
	border-bottom: 1px solid #BAD1FF;
	background-color: #fff;
}

ul.nav a:hover,
ul.nav a:active,
ul.nav a:focus {
	color: #0D45AC;
	background-color: #BAD1FF;
	border-bottom-color: #0D45AC;
}

ul.nav li.actual a,
ul.nav li.actual a:link,
ul.nav li.actual a:visited {
	color: #0D45AC;
	display: block;
	margin: 0;
	text-align: left;
	text-decoration: none;
	line-height: 1.3em;
	padding: 0.2em 0.2em 0.2em 0.5em;
	border-bottom: 1px solid #BAD1FF;
	background-color: #ffff00;
}

ul.nav li.actual a:hover,
ul.nav li.actual a:active,
ul.nav li.actual a:focus {
	color: #0D45AC;
	display: block;
	background-color: #FFCC00;
	border-bottom-color: #0D45AC;
}
/* 2.5.2.- nav lateral vertical en marrón */
ul.nav_marron a,
ul.nav_marron a:link,
ul.nav_marron a:visited {
	color: #808000;
	display: block;
	margin: 0;
	text-align: left;
	text-decoration: none;
	line-height: 1.3em;
	padding: 0.2em 0.2em 0.2em 0.5em;
	border-bottom: 1px solid #BAD1FF;
	background: #fff url("../imx/fonviabrillo.jpg");
}

ul.nav_marron a:hover,
ul.nav_marron a:active,
ul.nav_marron a:focus {
	color: #808000;
	display: block;
	background-color: #BAD1FF;
	border-bottom-color: #0D45AC;
}

ul.nav_marron {
	list-style: none;
	font-family: verdana, Arial, sans-serif;
    font-size: 10pt; /*0.67em*/
    font-weight: bold;
}

ul.nav_marron li {
	padding: 0;
	margin: 0;
}
/* 2.5.3.- nav lateral vertical, zona libre --------------*/
ul.secundario { /* nav vertical centrada*/
	list-style: none;
	font-family: verdana, Arial, sans-serif;
    font-size: 10pt; /*0.67em*/
    font-weight: bold;
    text-align: center;
}
ul.secundario li {
	color: #0D45AC;
	display: block;
	text-align: center;
	border-bottom: 1px solid #BAD1FF;
	background: #fff url("../imx/via_brillo.png") repeat-y;
}
/* 2.6.- titulares portada y museos ------------------------ */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {display: inline-table;}
.seccion1 {
	border-bottom: 1px solid #ddd;
    font-family: verdana;
    font-size: 10pt; /*0.67em*/
	padding: 0;
	width: 100%;
	margin-top: 2px;
    background: #fff;
}
.seccion1 h3 {
      font-size: 12pt;
}
.seccion1 p {
	font-family: Georgia, verdana, Arial, sans-serif;
	margin-top: 2.0em;
	margin-bottom: 0;
	font-size: 10pt; /*0.67em*/
	color: #222;
	padding: 0;
}

.seccion1 img.pequena {
	margin: 0 1em 0.0em 0;
}

img.pequena {
	float: left;
}
/* 3. De uso general  ------------------------------------------------------ */
.epigrafe {
	font-family: "Trebuchet MS", Helvetica, Arial, sans-serif;
	color: #0D45AC;
    font-size: 16pt; /*1.07em*/
	font-style: italic;
	text-align: center;
	font-weight: bold;
	background: url(../imx/foncelda01.jpg);
	background-repeat: repeat;
	padding: 0;
	width: 100%;
	border-radius:12px;
	-moz-border-radius:12px; /* Firefox */
	-webkit-border-radius:12px; /* Safari y Chrome */
	border:1px solid #0D45AC;
}
.epigrafe_menor {
    font-size: 12pt; /*0.8em*/
}
h4.tipo {
	font-family: verdana, Arial, sans-serif;
	color: #595900;
    font-size: 14pt;
	text-align: left;
	font-weight: bold;
	padding: 0;
	margin: 1px;
	text-indent: 30px;
	border-bottom: 3px solid #808000;
}
/* 3.1 ZONAS */
.zonablanca {
	background: #fff url(../imx/via_brillo.png) repeat-y top left;
	padding: 3px 10px;
	border-radius:12px;
	-moz-border-radius:12px; /* Firefox */
	-webkit-border-radius:12px; /* Safari y Chrome */
	border:1px solid #0D45AC;
	margin-bottom: 3px;
}
.zonablanca p.articulo {padding-bottom: 0.6em;}
.zonaverde {
	background: #BAD1FF url(../imx/via_verde_claro.png) repeat-y top left;
	padding: 3px 10px;
	border-radius:12px;
	-moz-border-radius:12px; /* Firefox */
	-webkit-border-radius:12px; /* Safari y Chrome */
	border:1px solid #0D45AC;
	margin-bottom: 3px;
}
.zonagris {
	background: #ccc url(../imx/via_gris.png) repeat-y top left;
	padding: 3px 10px;
	border-radius:12px;
	-moz-border-radius:12px; /* Firefox */
	-webkit-border-radius:12px; /* Safari y Chrome */
	border:1px solid #4B4B4B;
	margin-bottom: 3px;
}
.titulogris {
    font-family: verdana;
    font-size: 1em;
	margin-top: 2px;
	color: #4B4B4B;
}
.cincoultimas {
    display: flex;
    flex-direction: row;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: row; /* Safari 6.1+ */
    justify-content: space-around;
    flex-wrap: wrap;
}
.cincoultimas li {
    padding: 2px 5px;
}
.ficha-link { /* Enlace a características técnicas en series.php */
    float: left;
    padding-top: 0.2em;
}
/* 4. Enlaces  --------------------------------------------------------- */
/* 4.1 Tablas de enlaces (series))*/
ul.enlaces_serie {
    list-style: none;
    display: flex;
    flex-direction: row;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: row; /* Safari 6.1+ */
    flex-wrap: wrap;
}
ul.enlaces_serie li {
    flex-basis: 20%;
    max-width: 20%;
    overflow-wrap: break-word;
    padding: 1px 3px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    border-right: 1px dashed #ddd;
}
ul.enlaces_serie li:nth-child(5n+0) {
    clear: both;
}
ul.enlaces_serie a {
    font: bold 15px arial,sans-serif;

}
/* 4.2 Lista de enlaces en filas (Funiculares/Archivo documental) */
ul.lista {
	text-align: center;
	list-style: none;
	text-decoration: none;
	line-height: 1.3em;
	font-family: 'PT Sans', sans-serif;
    font-size: 12pt;
	font-weight: bold;
	width: 60%;
    margin: 0 auto;
	color: #000;
	background-color: #fff;
}

ul.lista li {
	border-bottom: 1px solid #ddd;
}

ul.lista a,
ul.lista a:link,
ul.lista a:visited {
	color: #0D45AC;
	text-decoration: none;
	border-bottom-color: #0D45AC;
}

ul.lista a:hover,
ul.lista a:active,
ul.lista a:focus {
	color: #0D45AC;
	text-decoration: underline;
	border-bottom-color: #0D45AC;
}
/* 5. Tablas   --------------------------------------------------------- */
/* 5.1 Tablas de vehiculos */
table.trenes {
    margin-bottom: 10px;
    font: 11px Helvetica;
    color: #000;
    /*width: 100% !important;*/
}
table.trenes td>a {
	color: #0D45AC;
	font-weight: bold;
	text-decoration: none;
    text-shadow: 1px 1px 1px #fff;
    height: 16px;
}
table.trenes tr:nth-child(odd) {
    background: rgba(242,242,242,0.5); /*#f2f2f2*/
}
table.trenes {
    background: url(../imx/via_brillo.png) repeat-y #fff;
}
table.trenes td {
    text-align: left;
    padding: 1px 8px;
    border-bottom: 1px solid #ddd;
    border-right: 1px dashed #ddd;
    height: 16px;
}
table.trenes th{
    background: url(../imx/fon_cabecera.png) repeat-x #ECFFE9;
    font: bold 15px arial,sans-serif;
    padding: 1px 3px;
    border-bottom: 1px solid #ddd;
    border-right: 1px dashed #ddd;
    text-align: left;
}
table.trenes th a{
	color: #0D45AC;
	text-decoration: none;
}
/* 5.2 Tablas de fotos generales (series))*/
ul.fotos_serie {
    list-style: none;
    display: flex;
    flex-direction: row;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: row; /* Safari 6.1+ */
    flex-wrap:wrap;
    border-left: thin solid #0D45AC;
    /*border-top: thin solid #0D45AC;*/
}
ul.fotos_serie li {
    flex-basis: 20%;
    max-width: 20%;
    overflow-wrap: break-word;
    padding: 1px 3px;
    text-align: left;
    border-collapse: collapse;
    border-right: thin solid #0D45AC;
    border-bottom: thin solid #0D45AC;
    overflow-wrap: break-word;
}
ul.fotos_serie li:nth-child(5n+0) {
    clear: both;
}
ul.fotos_serie li:nth-child(-n+5) {
    border-top: thin solid #0D45AC;
}
ul.fotos_serie a {
    font: bold 15px arial,sans-serif;
}

/* menu desplegable + */
nav.nav_mas ul {
    list-style-type: none;
}
nav.nav_mas ul li
{
	position:relative;
	float:left;
	padding:0 2px 0 0;
}
nav.nav_mas ul ul
{
    position:absolute;
    left: 8px;
    top: 0px;
    display:none;
    list-style: none;
    z-index: 10;
}
nav.nav_mas ul ul li
{
    border: 1px solid #0D45AC;
    background: #C8D3E9;
    padding: 1px 3px;
    font-weight: bold;
    width:130px;
}
nav.nav_mas ul ul li:hover
{
	background: #74A2FD;
}
nav.nav_mas ul ul a
{
	text-decoration:none;
}
nav.nav_mas ul ul ul
{
	top:0;
	left:100%;
}
nav.nav_mas ul li:hover > ul
{
	display:block;
}
/* 5.3. Últimos mensajes foro / últimos vehiculos actualizados   -------------------- */
.ultimos {
    width: 100%;
    font-size: 11px;
}
.ultimos td {
    background-color: #F8F8F8;
	border: solid 1px #FFF;
	border-right-color: #D6D6D6;
	border-bottom-color: #D6D6D6;
	text-align: left;
    padding-left: 2px;
}
table.ultimos th {
    padding: 0px;
	background-image: url(../imx/bg_nav1.gif);
	border: solid 1px #FFF;
	border-right-color: #D6D6D6;
	border-bottom-color: #D6D6D6;
	text-align: left;
    font-weight: bold;
	color: #0D45AC;
    padding-left: 2px;
}
table.ultimos a.topiclink {
	color: #444;
}
/* 6. Formularios   --------------------------------------------------------- */
fieldset.formlistado {
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #ccc;
    padding: 1% 0%;
    margin: 1px auto;
    text-align: center;
}
fieldset.formlistado label {
    /*display: inline-block;*/
    float: left;
    min-height: 25px;
    text-shadow: 0 1px 0 #fff;
    width: 30%;
    text-align: right;
    font-weight: bold;
}
fieldset.formlistado span.notas {
    display: block;
    float: left;
    margin-left: 20px;
}
input[type="text"],
input[type="password"],
input[type="email"],
select {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #BBBBBB;
    height: 21px;
    color: #666666;
    /*-webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;*/
    -webkit-box-shadow: inset 0 2px 2px #ccc;
    -moz-box-shadow: inset 0 2px 2px #ccc;
    box-shadow: inset 0 2px 2px #ccc;
    background-position: 10px 6px;
    display: block;
    float: left;
    margin-left: 20px;
    font-family: 'Fenix', serif;
    /*max-width: 60%;*/
}
textarea {
    padding-top: 2px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #BBBBBB;
    color: #666666;
    -webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
    -moz-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
    box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
    padding-left: 10px;
    background-position: 10px 6px;
    display: block;
    float: left;
    margin: 0 18px;
    font-family: 'Fenix', serif;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border: 1px solid #77BACE;
    -webkit-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
    -moz-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
    box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
}
.form_radio_buttons {
    /*display: inline-block;*/
    vertical-align: top;
    padding-left: 10px;
    float: left;
    margin: 0 14px;
}
input[type="checkbox"],
input[type="radio"] {
    text-align: left;
}
input[type="file"]{
    max-width: 240px;
    width: 100%;
}
.button,
button {
    display:inline-block;
    text-transform:capitalize;
    text-shadow: 0px 1px 0px #fff;
    background:url(../imx/boton-off.png) repeat-x #e5e5e5;
    height:32px;
    font-weight:bold;
    line-height:16px;
    border:1px solid #b0b0b0;
    vertical-align:middle;
    padding:0 15px;
    cursor:pointer;
    -moz-box-shadow:0 0 3px rgba(0,0,0, .25);
    -webkit-box-shadow:0 0 3px rgba(0,0,0, .25);
    box-shadow:0 0 3px rgba(0,0,0, .25);
    overflow: visible;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    margin:5px;
    font-family:Arial,Helvetica,sans-serif;
}
.button:hover,
button:hover {
        background:url(../imx/boton-on.png) repeat-x #e5e5e5;
}
.button:focus,
button:focus {
       -moz-box-shadow:    inset 0 0 7px #b0b0b0;
       -webkit-box-shadow: inset 0 0 7px #b0b0b0;
       box-shadow:         inset 0 0 7px #b0b0b0;
}
a.button {
    line-height:32px;
    height:30px;
    font-size: 14px;
}
.button_delgado {height:20px; margin:0;}

select.lineal {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #BBBBBB;
    height: 21px;
    color: #666666;
    -webkit-box-shadow: inset 0 2px 2px #ccc;
    -moz-box-shadow: inset 0 2px 2px #ccc;
    box-shadow: inset 0 2px 2px #ccc;
    background-position: 10px 6px;
    display: block;
    float: left;
    margin-left: 3px;
    font-family: 'Fenix', serif;
    /*max-width: 60%;*/
}

#comprobador {display: none;}
/* 6.1. Barras de mensajes Error/Exito/Aviso --------- */
h4.alert_warning {
    display: block;
    width: 95%;
    margin: 10px 3% 0 3%;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #F5F3BA url(../imx/ico_warning.gif) no-repeat;
    background-position: 8px 3px;
    border: 1px solid #C7A20D;
    color: #796616;
    padding: 10px 0 10px 50px;
    font-size: 16px;
}

h4.alert_error {
    display: block;
    width: 95%;
    margin: 10px 3% 0 3%;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #F3D9D9 url(../imx/ico_error.gif) no-repeat;
    background-position: 8px 3px;
    border: 1px solid #D20009;
    color: #7B040F;
    padding: 10px 0 10px 50px;
    font-size: 16px;
}

h4.alert_success {
    display: block;
    width: 95%;
    margin: 10px 3% 0 3%;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #E2F6C5 url(../imx/ico_success.gif) no-repeat;
    background-position: 8px 3px;
    border: 1px solid #79C20D;
    color: #32510F;
    padding: 10px 0 10px 50px;
    font-size: 16px;
}
/* 7. Otros   --------------------------------------------------------- */
.cuerpo_texto {
    text-indent: 1.5em;
    padding-bottom: 0.6em;
}
.banner {
    display: flex;
    flex-direction: row;
    display: -webkit-flex; /* Safari */
    -webkit-flex-direction: row; /* Safari 6.1+ */
    justify-content: center;
    flex-wrap: nowrap;
}
.banner iframe {
    width: 468px;
    max-height: 60px;
}
/* 7.1 Blockquotes */
blockquote {
   margin: 30px 0px;
   padding-left: 40px;
   position: relative;
}
blockquote:before {
   content: "\201C";
   opacity: 0.45;
   font-size: 80px;
   line-height: 0px;
   margin: 0;
   font-family: arial, sans-serif;

   position: absolute;
   top:  30px;
	left: 0;
}
blockquote p {
   font-family: georgia, serif;
   font-style: italic;
   padding: 0;
   font-size: 16px;
   line-height: 26px;
}
blockquote cite {
   display: block;
   font-size: 12px;
   font-style: normal;
   line-height: 18px;
}
blockquote cite:before { content: "\2014 \0020"; }
blockquote cite a,
blockquote cite a:visited { color: #8B9798; border: none }
/* 7.2 Paginación */
.pagination {
   margin: 20px auto;
   text-align: center;
}
.pagination ul li {
   display: inline-block;
   margin: 0;
   padding: 0;
}
.pagination .page-numbers {
   font: 15px/21px 'opensans-bold', sans-serif;
   display: inline-block;
   padding: 6px 10px;
   margin-right: 3px;
   margin-bottom: 6px;
	color: #6E757C;
	background-color: #E6E8EB;
	-webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	-ms-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
   border-radius: 3px;
}
.pagination .page-numbers:hover {
   background: #838A91;
   color: #fff;
}
.pagination .current,
.pagination .current:hover {
   background-color: #7096B3;
   color: #fff;
}
.pagination .inactive,
.pagination .inactive:hover {
   background-color: #E6E8EB;
	color: #A9ADB2;
}
/*.pagination .prev, .pagination .next {}*/

/* ------------------------------------------------------------------ */
/* Z. Media Queries
/* ------------------------------------------------------------------ */

.table-wrapper.desktop { display: block; }
.table-wrapper.mobile { display: none; }


/* screenwidth less than or equal 1049px
--------------------------------------------------------------------- */
@media only screen and (max-width: 1049px) {
    #contenedor {
        width: 100%;
        margin: 0 auto;
    }
    footer {
        width: 100%;
        flex-shrink: 1;
    }
    .exceptomovil { display: block; }
    .solomovil { display: none; }
}

/* screenwidth less than 768px - mobile/smaller tablets
---------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {

    .table-wrapper.desktop { display: none; }
    .table-wrapper.mobile { display: block; }

    section { order: -1; }
    main { flex-direction: column; }

    .tituloindex { font-size: 12pt; }

    #buscador,
    #login_user {
        width: 190px;
    }

    ul.enlaces_serie li {
        flex-basis: 25%;
    }

    .exceptomovil { display: block; }
    .solomovil { display: none; }

    table.trenes td {
        padding-left: 6px;
    }

    table.responsive {
        margin-bottom: 0;
    }

    nav.nav_mas ul ul li {
        z-index: 99;
        display: inline;
        float: none;
        margin: 0;
        padding: 0;
    }
}

/* screenwidth less than or equal 480px - mobile wide
---------------------------------------------------------------------- */
@media only screen and (max-width: 480px) {
    nav.nav_mobile {
        display: flex;
        flex-direction: row;
        display: -webkit-flex;
        -webkit-flex-direction: row;
        justify-content: flex-start;
    }

    aside { display: none; }
    .barranegra { font-size: 7pt; }

    ul.enlaces_serie li,
    ul.fotos_serie li {
        flex-basis: 33.333333%;
        max-width: 33.333333%;
    }

    ul.fotos_serie li:nth-child(n+4):nth-child(-n+5) {
        border-top: none;
    }

    ul.lista {
        width: 100%;
    }

    table.trenes {
        width: 100%;
    }

    .solomovil { display: block; }
    .exceptomovil { display: none; }

    .tituloindex {
        font-size: 9.5pt;
        font-weight: bolder;
    }

    #buscador,
    #login_user,
    ul#linguas {
        display: none;
    }

    .epigrafe { font-size: 1.07em; }
    .epigrafe_menor { font-size: 0.6em; }
    .titulogris { font-size: 1.2em; }
    .blanco_movil { background: #fff; }
    .blancovia_movil {
        background: #fff url(../imx/via_brillo.png) repeat-y top left;
    }

    fieldset.formlistado textarea {
        width: 90%;
    }
}

/* Mostrar/Ocultar según resolución */
.desktop-only {
    display: table;
}
.mobile-only {
    display: none;
}

/* === TABLA RESPONSIVE CON COLUMNA FIJA (VERSIÓN MÓVIL) === */
@media only screen and (max-width: 767px) {
    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
    }

    .table-wrapper {
        display: block;
        position: relative;
        overflow: hidden;
        border-right: 1px solid #ccc;
        margin-bottom: 20px;
        width: 100%;
    }

    .table-wrapper .pinned {
        position: absolute;
        top: 0;
        left: 0;
        width: 32%;
        background: #fff;
        overflow-x: hidden;
        overflow-y: hidden;
        border-right: 1px solid #ccc;
        z-index: 2;
    }

    .table-wrapper .scrollable {
        margin-left: 32%;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .table-wrapper .pinned table {
        table-layout: fixed;
        width: 100%;
    }

    .table-wrapper .scrollable table {
        table-layout: auto;
        min-width: max-content;
        width: auto;
    }
    
    table.trenes td:last-child {
        white-space: nowrap; /* no partir texto */
        width: auto;         /* que la celda crezca */
        padding-right: 12px;
    }

    .table-wrapper th,
    .table-wrapper td {
        white-space: nowrap;
        padding: 4px 8px;
        text-align: left;
        border: 1px solid #ddd;
    }

    .scrollable > table {
        background: url(../imx/sombra-tabla.png) repeat-y #fff;
    }
}