:root {
    --primary-color: #B4081E;
    --amarillo-tmsa: #e4d200;
    --primary-dark: #642125;
    --radius: 10px;
    --sm-radius: 5px;
    --bs-link-hover-color: #B4081E;
    --bs-link-color: #642125;
}
*{
    outline: none !important;
    box-shadow: none !important;
 }
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #B4081E;
    --bs-btn-border-color: #B4081E;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #642125;
    --bs-btn-hover-border-color: #642125;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #642125;
    --bs-btn-active-border-color: #642125;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #B4081E;
    --bs-btn-disabled-border-color: #B4081E;

}

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

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

a:hover {
    color: var(--primary-dark);
}

a.a-footer {
    color: #ffffff;
}

a.a-footer:hover {
    color: #ffffff;
    font-weight: bold;
}

a.linea, a.linea:hover,
a.horarios, a.horarios:hover,
a.mapa, a.mapa:hover,
a.linea_no_operativa, a.linea_no_operativa:hover,
.observaciones_linea a, .observaciones_linea a:hover,
.noticia, .notica:hover,
a.suscripcion, a.suscripcion:hover,
a.parada, a.parada:hover {
    text-decoration: none !important;         
}

a.parada {
    color: #404040;         
}

a.parada:hover {
    color: #000000;
}

.sm-radius {
    border-radius: var(--sm-radius);
}

a.horarios, a.horarios:hover,
a.mapa, a.mapa:hover,
a.parada, a.parada:hover {
    cursor: pointer;
}

.linea_titulo {
    font-size: 30px;
    font-weight: bold;
}

a.linea, a.linea:hover {
    font-size: 20px;
    font-weight: bold;
}

a.linea_no_operativa, a.linea_no_operativa:hover {
    font-size: 20px;
    font-weight: bold;
    color: #333333;
}

.linea_trayecto {
    border-style: solid;
    border-width: 0px 0px 0px 10px;
}

h3.titulo_noticia,
h3.titulo_faq {
    color: var(--primary-color);
}

div.urgente {
    background-color: #FFCCCB;
    border-radius: 10px;
    padding: 15px;
}

.noticia_urgente {
    font-size: 18px;
}

.noticia_urgente_lineas_afectadas {
    font-size: 14px;
}

h3.titulo_urgente {
    color: red;
    animation: blinker 1s linear infinite;
}

.leer_mas_urgente {
    animation: blinker 1s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

h3.titulo_noticia,
h3.titulo_faq,
h3.titulo_urgente {
    font-weight: bold;
}

h3.titulo_noticia,
h3.titulo_urgente {
    text-align: center;
}

.pregunta_frecuente {
    color: var(--primary-color);
}

div.descripcion_noticia {
    max-height: 180px;
    overflow: hidden;
}

.descripcion_noticia div, .descripcion_noticia p,
.descripcion_noticia_entera div, .descripcion_noticia_entera p {
    font-size: 1rem;
}

hr.separa_noticias {
    color: var(--primary-color);
}

hr.seccion_faq {
    height: 2px;
    background-color: var(--primary-color);
    opacity: 1 !important;
}

#columna_paradas_nombre, #columna_paradas_horas, .horarios_columna_tarifa_trayecto {
    padding: 0 !important;
}

.fila_tarifa {
    padding: 0 !important;
}

.horarios_columna_tarifa_trayecto {
    overflow: hidden;
}

li.page-item {
    margin: 4px;
}

li.page-item.disabled a.page-link {
    background-color: #DEDEDE;

}

a.page-link {
    border: 0;
    border-radius: var(--sm-radius);
    background-color: var(--primary-color);
    color: #ffffff;
    font-weight: bold;

}

a.page-link span i {
    -webkit-text-stroke: 1px;
}

nav.paginacion_corto {
    display: none !important;
}

nav.paginacion_largo {
    display: block !important;
}

@media only screen and (max-width: 1279px) {
    nav.paginacion_corto {
        display: block !important;
    }
    nav.paginacion_largo {
        display: none !important;
    }
}

#columna_paradas_horas {
    overflow-x: scroll;
    scrollbar-color: #B4081E #DEDEDE;
}

#columna_paradas_horas::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
    box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
    border-radius: var(--sm-radius);
	background-color: #DEDEDE;
}

#columna_paradas_horas::-webkit-scrollbar {
    height: 10px;
	background-color: #DEDEDE;
}

#columna_paradas_horas::-webkit-scrollbar-thumb {
    border-radius: var(--sm-radius);
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
    box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
	background-color: #B4081E;
}

#columna_paradas_horas::-webkit-scrollbar-button:single-button {
    background-color: #ffffff;
    display: block;
    background-size: 10px;
    background-repeat: no-repeat;
}

#columna_paradas_horas::-webkit-scrollbar-button:single-button:hover {
    background-color: #d0cbcb;
}

#columna_paradas_horas::-webkit-scrollbar-button:single-button:horizontal:decrement {
    height: 10px;
    width: 10px;
    background-position: 1px 0px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(180, 8, 30)'><polygon points='0,50 50,100 50,0'/></svg>");
}

#columna_paradas_horas::-webkit-scrollbar-button:single-button:horizontal:decrement:active {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(128, 128, 128)'><polygon points='0,50 50,100 50,0'/></svg>");
}

#columna_paradas_horas::-webkit-scrollbar-button:single-button:horizontal:increment {
    height: 10px;
    width: 10px;
    background-position: 4px 0px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(180, 8, 30)'><polygon points='0,0 0,100 50,50'/></svg>");
}

#columna_paradas_horas::-webkit-scrollbar-button:single-button:horizontal:increment:active {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgb(128, 128, 128)'><polygon points='0,0 0,100 50,50'/></svg>");
}

#columna_paradas_nombre .row:nth-child(odd), #columna_paradas_horas .row:nth-child(odd), .horario-horas-print .row:nth-child(odd), .horario-tarifa .row:nth-child(odd), .horario-tarifa-print .row:nth-child(odd), .linea-tarifas .row:nth-child(odd) {
    background: #eeeeee;
}

#columna_paradas_nombre .row:nth-child(even), #columna_paradas_horas .row:nth-child(even), .horario-horas-print .row:nth-child(even), .horario-tarifa .row:nth-child(even), .horario-tarifa-print .row:nth-child(even), .linea-tarifas .row:nth-child(even) {
    background: #ffffff;
}

.linea-tarifas {
    color: var(--primary-color);
}

div.linea_no_operativa {
    background-color: #DCDCDC;
    color: #333333;
}

.encabezado-horario {
    background-color: #DCDCDC;
}

.encabezado-horario-tarifa {
    background-color: #F5F5F5;
}

.encabezado-horario, .encabezado-horario-tarifa {
    color: #333333;
    border-style: solid;
    border-color: #333333;
}

.encabezado-horario-descripcion, .encabezado-horario-tarifa {
    font-weight: bold;
}

.encabezado-horario-validez {
    font-size: 12px;
}

.horario-fila-horas {
    flex-wrap: nowrap !important;
    display: flex;
    flex-direction: row;
}

.horario-hora, .horario-hora-print {
    padding: 0 !important;
    text-align: center !important;
}


.horario-hora {
    width: 45px;
    font-size: 12px;
}

.horario-hora-print {
    width: 36px;
    font-size: 10px;
}

.horario-parada, .horario-parada-print {
    padding: 0 !important;
    overflow: hidden;
}

.horario-parada {
    font-weight: bold;
    font-size: 12px;
}

.horario-parada-print {
    font-weight: bold;
    font-size: 10px;
}

.horario-tarifa {
    font-size: 12px;
}

.horario-tarifa-print {
    font-size: 10px;
}

.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(255, 68, 68, .25);
}

body {
    font-family: 'Source Sans Pro', sans-serif;
    /*background: #fff url(../images/bck.png);*/
    font-size: 1rem;

}
.container{
    padding-left:0px !important;
    padding-right:0px !important;
}
.top-header {
    background-color: var(--primary-color);
    border-bottom: 5px solid var(--primary-dark) !important;
}


dropdown-item.active,
.dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--primary-dark);
}

.footer {
    flex-shrink: 0;
    background-color: var(--primary-color) !important;
    border-top: 5px solid var(--primary-dark) !important;
    color:white;
}

.text-primary {
    color: var(--primary-color) !important;
}

.row {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

.headers-bg-red {
    background-color: var(--primary-color) !important;
    border-radius: var(--sm-radius);
    color: white;
    padding-top: 6px;
    padding-bottom: 6px;
    text-align: center;
}

.headers-bg-btn-warning {
    background-color: #ffc107 !important;
    border-radius: var(--sm-radius);
    color: #000;
    padding-top: 6px;
    padding-bottom: 6px;
    text-align: center;
}

.bg-primary-dark {
    background-color: var(--primary-dark) !important;
}
.bg-primary {
    background-color: var(--primary-color) !important;
}
.navbar-nav {
    padding-left: 15px;
    padding-right: 15px;
    border-bottom-left-radius: var(--sm-radius);

}

.nav-link,
.dropdown-item {
    font-size: 1rem;
}

.bg-primary-dark .nav-link {
    color: white !important;
}

h1 {
    color: var(--primary-color) !important;
    font-weight: 700;
}

h2 {
    margin-top: 50px;
}

h3 {
    font-weight: 00;
}

p {
    font-size: 1.5rem;
}

.font-medium {
    font-size: 1.5rem;
}

.font-small {
    font-size: 12px;
}

.accordion-button {
    font-size: 24px;
}

.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-btn-color);
    background-color: var(--bs-accordion-btn-bg);
    box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-icon);
    transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0, 0, 0, .125);
}

.accordion-button.uncollapsed::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.icon-card-img-top {
    font-size: 6rem !important;
    text-align: center;
    color: var(--primary-color);
}

.sr-only {
    display: none !important;
}

.page-link.active,
.active>.page-link {
    z-index: 3;    
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.page-link,.page-link:active{
    color:var(--primary-color)
}

nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--primary-color) !important;
}
.nav-pills {
    --bs-nav-pills-border-radius: 0.375rem;
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: var(--primary-color);
  }
  .modal:nth-of-type(even) {
    z-index: 1062 !important;
}
.modal-backdrop.show:nth-of-type(even) {
    z-index: 1061 !important;
}

#modal_horarios,
#modal_parada {
    z-index: 9999 !important;
}

.carousel-inner img {
    margin: auto;
}
.loader {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: inline-block;
    border-top: 4px solid #B4081E;
    border-right: 4px solid transparent;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
  }
  .loader::after {
    content: '';  
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border-left: 4px solid #e4d200;
    border-bottom: 4px solid transparent;
    animation: rotation 0.5s linear infinite reverse;
  }
  @keyframes rotation {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  } 
/*
.carousel-control-next-icon,
.carousel-control-prev-icon {
  filter: invert(1);
}
*/
.cookiealert {
    position: fixed;
    bottom: 0;
    width: 100%;
    margin: 0 !important;
    z-index: 9999;
    /* opacity: 0; */
    opacity: 1;
    border-radius: 0;
    /* transform: translateY(100%); */
    transform: translateY(0%);
    transition: all 500ms ease-out;
    color: #212327;
    background: #BDBDBD;
    padding-bottom: 75px;
    padding-top: 75px;
    /* inexistente */
    transition-delay: 500ms;
}

/*
.cookiealert.show {
    opacity: 1;
    transform: translateY(0%);
    transition-delay: 500ms;
}
*/

.cookiealert a {
    text-decoration: underline
}

.cookiealert-btn-accept {
    width: 200px;
    background-color: var(--primary-color);
    color: white !important;
    border: 0px;
    padding: 10px;
    font-weight: bold;
    text-align: center;
    vertical-align: baseline;
}

.cookiealert-btn-noaccept {
    width: 200px;
    background-color: white;
    color: var(--primary-color) !important;
    border-color: var(--primary-color);
    padding: 10px;
    font-weight: bold;
    text-align: center;
    vertical-align: baseline;
}

.cookiealert-btn:hover{
    background-color: var(--primary-color) !important;
    text-decoration: underline;
}

@media only screen and (min-width: 768px) {
    .cookiealert-container {
        margin-right: 20%;
        margin-left: 20%;
    }
}

#politica_cookies p {
    font-size: 1rem;
}

#politica_cookies h3 {
    padding-bottom: 8px;
}

#tabla-politica-cookies {
    width: 90%;
}

#tabla-politica-cookies {
    border: 2px solid black;
}

#tabla-politica-cookies tr, #tabla-politica-cookies tr th, #tabla-politica-cookies tr td {
    border: 1px solid #a7a7a7;
}

#tabla-politica-cookies tr th, #tabla-politica-cookies tr td[colspan="3"] {
    border-bottom: 2px solid black;
}

#tabla-politica-cookies tr th, #tabla-politica-cookies tr td {
padding: 10px;
}

#tabla-politica-cookies tr th {
    text-align: center;
    background-color: #D5DBDB;
}
.celda-horarios-matriz:hover{
    background-color:#0aa3ef;
    cursor: pointer;
    color:white;
}
.fila-horarios-matriz:hover{
    background-color:#9caeb7;
    cursor: pointer;
    color:white;
}
.fila-seleccionada{
    background-color:#eefcbc;
    cursor: pointer;
}
.fila-cabecera{
    background-color:#3c3c42;
    color:white;
}
p.caption_carrusel_home {
    font-size: 1.5rem;
    background-color: rgba(255, 255, 255, 0.60);
    color: var(--primary-color);
}