.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
  border-top: none !important;
}

a:focus,
a:hover {
  color: inherit !important;
  text-decoration: none !important;
}

.form-control {
  border: 1px solid #705954;
}
.form-control:focus {
  border: 1px solid #9c7b74;
}

/* http://stackoverflow.com/questions/19562903/remove-padding-from-columns-in-bootstrap-3 */
.nopadding {
  padding: 0 !important;
  margin: 0 !important;
}

/* http://stackoverflow.com/questions/20547819/vertical-align-with-bootstrap-3 */
.vcenter {
  display: inline-block;
  vertical-align: middle;
  float: none;
}

.thumbnail {
  background-color: #111111;
  border: 1px solid #333333;
  transition: all 0.3s ease;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #c35b43;
  -moz-box-shadow: 0 0 60px rgba(195, 91, 67, 0.3);
  -webkit-box-shadow: 0 0 60px rgba(195, 91, 67, 0.3);
  box-shadow: 0 0 60px rgba(195, 91, 67, 0.3);
}

.btn-primary {
  /*background-color: transparent;*/
  background-image: linear-gradient(to bottom, #6e99dc, #4e5c91);
  border: 0px;
  -moz-transition: all 0.1s ease-in;
  -o-transition: all 0.1s ease-in;
  -webkit-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
  -moz-border-radius: 0px;
  border-radius: 0px;
}
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover {
  color: #fff !important;
  filter: brightness(120%);
}

/* modal */
.modal-content {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important;
}

.table-bordered {
  border: 1px solid #18110f !important;
}

/* .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #3f5a99 !important;
  color: #fff !important;
} */

.table-hover > tbody > tr:hover td {
  background-color: #3f5a99 !important;
  color: #fff !important;
}

.table-bordered > tbody > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > thead > tr > th {
  border: 1px solid #fff !important;
}

.panel-heading {
    margin-top: 40px;
}

/* ======================================== */
/* FIX FOOTER OVERLAP - CONTENT STAYS ABOVE */
/* ======================================== */

/* Asegura que el wrapper englobe todo */
.wrapper {
    position: relative; /* importante para contextos relativos */
    min-height: 100vh;  /* fuerza que la web ocupe al menos toda la pantalla */
}

/* Evita que el contenido toque el footer */
.content {
    padding-bottom: 580px; /* ajusta según la altura real de tu footer */
    box-sizing: border-box;
}

/* Footer */
.bottom-fon-home-1 {
    position: relative; /* ya no absolute ni fixed */
    width: 100%;
    z-index: 10;        /* se mantiene arriba de fondo pero debajo del contenido */
}

/* Por si los sliders o bloques grandes se salen */
.news-panel,
.block-widget,
.block-players,
.events-block {
    box-sizing: border-box;
}

/* Optional: fuerza que clearfix funcione */
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Botón "volver arriba" correctamente posicionado */
#toTop {
    position: fixed;   /* debe seguir siendo fixed */
    bottom: 40px;     /* distancia desde el footer, ajusta según necesites */
    right: 30px;       /* separación de la derecha */
    z-index: 9999;     /* siempre encima del contenido */
}

/* .toTop-fon: línea que estaba detrás del botón */
.toTop-fon,
.toTop-fon::before,
.toTop-fon::after {
    content: none !important;  /* elimina cualquier pseudo-elemento */
    border: none !important;   /* elimina bordes si los tuviera */
    background: transparent !important; /* elimina colores de fondo */
    height: 40px;               /* mantiene el espacio para el botón */
    position: relative;          /* mantiene el contexto */
    display: block;
}

/* Botón sigue flotando a la derecha */
.toTop {
    position: absolute;
    right: 20px;
    bottom: 0;
}

/* ELIMINAR FRANJA AZUL COMPLETA */
.newsPagination {
    position: absolute;
    bottom: 10px;
    width: 100%;
    background: transparent !important;
}

/* Quitar fondo azul */
.swiper-pagination-fraction {
    display: none !important;
}

/* ===================================== */
/* SWIPER SIN FRANJA AZUL + FLECHAS FIX */
/* ===================================== */

/* Asegurar que el slider sea relativo */
.swiper-news {
    position: relative;
}

/* Flechas flotando sobre la imagen */
.swiper-button-next,
.swiper-button-prev {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 50%;
    color: #ffffff !important;
    z-index: 9999 !important;
    transition: 0.3s ease;
}

/* Izquierda */
.swiper-button-prev {
    left: 15px !important;
}

/* Derecha */
.swiper-button-next {
    right: 15px !important;
}

/* Tamaño del icono */
.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 18px;
}

/* Hover */
.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: rgba(0, 0, 0, 0.85);
}

.swiper-news .swiper-slide {
    background-size: contain !important;
    background-position: center center !important;
    background-color: #000; /* relleno si sobra espacio */
}

.swiper-news {
    height: auto !important;
}

.swiper-news .swiper-slide {
    height: 380px !important;
    background-size: cover !important;
}

.swiper-news .swiper-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;

    background: radial-gradient(circle at center,
        rgba(255,255,255,0) 65%,
        rgba(255,255,255,0.05) 78%,
        rgba(255,255,255,0.12) 90%,
        rgba(255,255,255,0.18) 100%);
}

.floating-social {
    position: fixed;
    right: 20px;
    top: 40%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 9999;
}

.floating-social img {
    width: 40px;
    transition: 0.3s;
}

.floating-social img:hover {
    transform: scale(1.1);
}

/* Contenedor principal */
.slider .swiper-slide {
  position: relative;
  overflow: visible;
  border-radius: 0;
  z-index: 0;
}

/* -------------------------- */
/* Neblina izquierda (sube) */
/* -------------------------- */
.slider .swiper-slide::before {
  content: '';
  position: absolute;
  top: -100%;
  left: -20px;
  width: 20px;
  height: 200%;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.65), rgba(255,255,255,0));
  filter: blur(14px);
  opacity: 0;
  animation: mist-left 12s ease-in-out infinite;
  z-index: 1;
}

/* -------------------------- */
/* Neblina derecha (baja) */
/* -------------------------- */
.slider .swiper-slide::after {
  content: '';
  position: absolute;
  top: -100%;
  right: -20px;
  width: 20px;
  height: 200%;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.65), rgba(255,255,255,0));
  filter: blur(14px);
  opacity: 0;
  animation: mist-right 12s ease-in-out infinite;
  z-index: 1;
}

/* -------------------------- */
/* Neblina superior (izquierda → derecha) */
/* -------------------------- */
.slider .swiper-slide .mist-top {
  position: absolute;
  top: -20px;
  left: -100%;
  width: 200%;
  height: 20px;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.65), rgba(255,255,255,0));
  filter: blur(14px);
  opacity: 0;
  animation: mist-top 12s ease-in-out infinite;
  z-index: 1;
}

/* -------------------------- */
/* Neblina inferior (derecha → izquierda) */
/* -------------------------- */
.slider .swiper-slide .mist-bottom {
  position: absolute;
  bottom: -20px;
  left: -100%;
  width: 200%;
  height: 20px;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.65), rgba(255,255,255,0));
  filter: blur(14px);
  opacity: 0;
  animation: mist-bottom 12s ease-in-out infinite reverse;
  z-index: 1;
}

/* ========================= */
/* Animaciones para loop suave con fade-in/fade-out */
/* ========================= */
@keyframes mist-left {
  0%   { transform: translateY(50%); opacity: 0; }
  25%  { opacity: 0.65; }
  75%  { opacity: 0.65; }
  100% { transform: translateY(-50%); opacity: 0; }
}

@keyframes mist-right {
  0%   { transform: translateY(-50%); opacity: 0; }
  25%  { opacity: 0.65; }
  75%  { opacity: 0.65; }
  100% { transform: translateY(50%); opacity: 0; }
}

@keyframes mist-top {
  0%   { transform: translateX(0); opacity: 0; }
  25%  { opacity: 0.65; }
  75%  { opacity: 0.65; }
  100% { transform: translateX(-50%); opacity: 0; }
}

@keyframes mist-bottom {
  0%   { transform: translateX(-50%); opacity: 0; }
  25%  { opacity: 0.65; }
  75%  { opacity: 0.65; }
  100% { transform: translateX(0); opacity: 0; }
}

.top-block {
    list-style: none;
    margin: 0;
    padding: 0;
}

.top-list,
.top-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px; /* espacio entre columnas */
}

.top-number {
    width: 30px;
    text-align: right;
}

.top-flag {
    width: 35px;
    text-align: center;
}

.top-name {
    flex: 1; /* ocupa el resto del espacio disponible */
}

.top-Res,
.top-Kills {
    width: 60px;
    text-align: right;
}

/* Número de posición # */
.top-number {
    width: 30px;
    text-align: right;
    padding-right: 10px; /* mueve el número un poquito a la izquierda sin afectar nombre */
}

/* Reset */
.top-Res {
    width: 60px;
    text-align: right;
    padding-right: 50px; /* mueve el número más a la izquierda sin tocar nombre */
}

/* mover solo el # sin afectar toda la columna */
.top-block.guild .top-number .number-inner {
    display: inline-block;
    margin-left: -50px; /* ajusta este valor a tu gusto */
}

/* mover solo el score sin afectar toda la columna */
.top-block.guild .score .score-inner {
    display: inline-block;
    margin-right: 20px; /* ajusta este valor a tu gusto */
}

/* mover SOLO el # del titulo de TOP GUILDS */
.top-block.guild .top-title .top-number {
    position: relative;
}

.top-block.guild .top-title .top-number .hash {
    position: relative;
    left: -38px; /* ajusta este valor */
}

/* ESTILO GLOBAL PARA TODOS LOS RANKINGS */

.top-list,
.rankings-table-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.top-number,
.rankings-column-rank {
    width: 35px;
    text-align: right;
}

.top-name,
.rankings-column-name {
    flex: 1;
}

.top-Res,
.rankings-column-resets,
.rankings-column-kills,
.rankings-column-score {
    width: 70px;
    text-align: right;
}

/* EVENT TIMER STYLE */

.event-row{
    margin-bottom:12px;
}

.event-top{
    display:flex;
    justify-content:space-between;
    font-weight:600;
}

.event-bottom{
    display:flex;
    justify-content:space-between;
    font-size:13px;
}

/* nombre del evento - mismo azul que los títulos */
.event-name{
    color:#3b5fa3; 
    font-size:17px;
    font-weight:600;
}

/* fecha y hora del evento - gris oscuro suave */
.event-time{
    color:#444;
    font-size:14px;
    font-weight:400;
}

/* texto Starts in */
.event-starts{
    color:#555;
}

/* countdown normal */
.event-countdown{
    color:#d64545; /* rojo sutil */
    font-size:16px;
    font-weight:700;
}

/* estados */
.event-preparing{
    color:#f5a623; /* naranja preparación */
}

.event-active{
    color:#2ecc71; /* verde en curso */
}

/* TITULOS DE SECCIONES DE EVENTOS */

.block-widget-title.discussions-title{
    font-size:30px;           /* más grande */
    font-weight:700;          /* más fuerte */
    letter-spacing:1px;       /* estilo más limpio */
    
    color:#3b5fa3;            /* azul del template */

    text-shadow:
        0 0 6px rgba(80,120,255,0.35),
        0 2px 3px rgba(0,0,0,0.6); /* sombra elegante */

    margin-bottom:12px;
}

body.subpage {
    display: block !important; /* rompe el flex */
}

body.subpage .wrapper {
    min-height: auto !important; 
    display: block !important;   /* rompe flex interno */
}

body.subpage .footer {
    position: relative !important;
    margin-top: -300px !important; /* fuerza a acercar el footer */
}

/* ======== ESTILO UNIFORME PARA TODOS LOS TITULOS DE SECCIONES ======== */

/* Base: estilo general para cualquier título de sección */
.block-widget-title,
.section-header span,
.page-title,
.module-title {
    font-size: 30px !important;       /* tamaño grande */
    font-weight: 700 !important;       /* más fuerte */
    letter-spacing: 1px !important;   /* estilo limpio */
    color: #3b5fa3 !important;        /* azul del template */
    text-shadow:
        0 0 6px rgba(80,120,255,0.35),
        0 2px 3px rgba(0,0,0,0.6);   /* sombra elegante */
    margin-bottom: 12px !important;   /* separación uniforme */
}

/* Casos específicos de módulos / subdominios */

/* Discussions / Eventos */
.block-widget-title.discussions-title {}

/* Register / Registro */
.block-widget-title.register-title {}

/* Rankings / Top */
.block-widget-title.rankings-title {}
.ranking-panel .section-header span {}

/* Info / Información */
.block-widget-title.info-title {}

/* News / Noticias */
.block-widget-title.news-title {}

/* Downloads / Descargas */
.block-widget-title.downloads-title {}

/* ======== Last News (Home) ======== */
.tab-button.active[data-tab="news"] {
    font-size: 28px !important;       /* tamaño grande */
    font-weight: 700 !important;       /* más fuerte */
    letter-spacing: 1px !important;   /* estilo limpio */
    color: #3b5fa3 !important;        /* azul del template */
    text-shadow:
        0 0 6px rgba(80,120,255,0.35),
        0 2px 3px rgba(0,0,0,0.6);   /* sombra elegante */
    margin-bottom: 12px !important;   /* separación uniforme */
}

.top-title,
.top-list {
    line-height: 1.0 !important;     
}

.top-title {
    margin-bottom: 2px !important;  /* espacio entre subtítulo y filas */
}

.block-widget-title {
    margin-bottom: 0px !important;
}

/* ===== Shine solo para TOP PLAYERS y TOP GUILDS sin moverlos ===== */
.widget-fon .block-widget-title,
.widget-fon-guilds .block-widget-title {
    position: relative;       /* necesario para el pseudo-elemento */
    color: inherit;           /* mantiene color original */
    overflow: hidden;         /* recorta el brillo dentro del texto */
}

/* Pseudo-elemento para el brillo */
.widget-fon .block-widget-title::after,
.widget-fon-guilds .block-widget-title::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;              /* empieza fuera a la izquierda */
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.6) 50%,
        rgba(255,255,255,0) 100%
    );
    pointer-events: none;
    animation: shine-text 2s linear infinite;
}

/* Animación: el brillo pasa sobre el texto de izquierda a derecha */
@keyframes shine-text {
    0% { left: -100%; }
    100% { left: 100%; }
}

/* ===== Register & Log In: NEÓN VIVO BLANCO ===== */
.topPanel-wrapper_right .button {
    color: #ffffff; /* texto blanco */
    position: relative;
    font-weight: 700; /* resalta las letras */
    text-transform: uppercase;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 15px #fff,
        0 0 20px #fff,
        0 0 30px #fff;
    transition: all 0.3s ease;
    animation: neon-white-pulse 1.8s ease-in-out infinite;
}

/* Animación pulsante blanca */
@keyframes neon-white-pulse {
    0%, 100% {
        text-shadow:
            0 0 3px #fff,
            0 0 6px #fff,
            0 0 9px #fff,
            0 0 12px #fff,
            0 0 15px #fff;
    }
    50% {
        text-shadow:
            0 0 10px #fff,
            0 0 20px #fff,
            0 0 30px #fff,
            0 0 40px #fff,
            0 0 50px #fff;
    }
}

/* ===== Downloads dentro del botón: NEÓN VIVO BLANCO, sin mover texto ===== */
.h-button.download p {
    color: #ffffff; /* texto blanco */
    font-weight: 700;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 15px #fff,
        0 0 20px #fff,
        0 0 30px #fff;
    animation: neon-white-pulse 1.8s ease-in-out infinite;
}

/* Animación pulsante blanca */
@keyframes neon-white-pulse {
    0%, 100% {
        text-shadow:
            0 0 3px #fff,
            0 0 6px #fff,
            0 0 9px #fff,
            0 0 12px #fff,
            0 0 15px #fff;
    }
    50% {
        text-shadow:
            0 0 10px #fff,
            0 0 20px #fff,
            0 0 30px #fff,
            0 0 40px #fff,
            0 0 50px #fff;
    }
}


/* Las plumas no bloquean clics */
.ani.stone {
  pointer-events: none;
}

/* Permitir clics en imágenes y enlaces dentro del logo */
.logo a,
.logo img {
  pointer-events: auto;
  position: relative; /* necesario si quieres que queden encima visualmente */
  z-index: 1;         /* asegúrate que estén por encima de la animación */
}

/* ==============================
   Estilo simple de los títulos del menú
   ============================== */
.topPanel-wrapper_left .menu li a {
    color: #002366; /* Azul profundo (navy) */
    font-weight: bold;
    font-size: 16px; /* Ajusta según prefieras */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); /* sombra negra ligera para dimensión */
    -webkit-text-stroke: 0.3px rgba(0, 0, 0, 0.2); /* borde muy sutil para relieve */
    transition: none; /* sin transición ni hover */
}