.admincp-button {
	position:absolute;
	top:10px;
	right:10px;
}

.page-title {
	font-size: 32px;
	margin-bottom: 10px;
	font-weight: bold;
}

/* RANKINGS MODULE */
.rankings-table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

.rankings-class-image {
	width: 30px;
	height: auto;
	-moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	-moz-border-radius: 50%;
	border-radius: 50%;
}
.rankings-table tr td {
	border-bottom: 1px solid #352825;
	padding: 10px;
	font-size: 18px;
	vertical-align: middle !important;
	text-align: center;
}
.rankings-table-place {
	color: #666;
	font-weight: bold;
	font-size: 24px;
	text-align: center;
}
.rankings-table tr:first-child td {
	color: #ffaf43;
	border-bottom: 3px solid #ffaf43;
}
.rankings-update-time {
	text-align: right;
	font-size: 11px;
	color: #ccc;
	padding: 10px 0px;
}
.rankings_menu {
	width: 100%;
	overflow: auto;
	text-align: center;
	margin-bottom: 20px;
}
.rankings_menu span {
	width: 100%;
	display: inline-block;
	padding: 10px 0px;
	color: #ccc;
	font-size: 24px;
}
.rankings_menu a {
	display: inline-block;
	width: 150px;
	border: 1px solid #705954;
	text-align: center;
	padding: 10px 0px;
	margin: 2px;
	background: #352825;
	-moz-border-radius: 2px;
	border-radius: 2px;
	color: #705954;
}
.rankings_menu a.active {
	color: #f7ddbf;
	border-color: #f7ddbf;
}
.rankings_guild_logo tr td {
	border: 0px !important;
	padding: 0px !important;
	margin: 0px !important;
}
.rankings-gens-img {
	width: auto !important;
	height: 30px !important;
	border: 0 !important;
	-moz-box-shadow: 0 0 0px #000 !important;
	-webkit-box-shadow: 0 0 0px #000 !important;
	box-shadow: 0 0 0px #000 !important;
	-moz-border-radius: 0px !important;
	border-radius: 0px !important;
}

/* MY ACCOUNT MODULE */
.myaccount-table {
	width: 100%;
	background: #000000 url('../img/myaccount_bg.jpg') no-repeat;
	background-size: cover;
	border: 1px solid #004891;
	-moz-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
}
.myaccount-table tr td:first-child {
	color: #47bcff;
}
.myaccount-table tr td {
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	padding: 20px 40px !important;
}
.myaccount-table tr:last-child td {
	border: 0px;
}

/* GENERAL TABLE UI */
.general-table-ui {
	width: 100%;
	table-layout: fixed;
	background: #333333 url('../img/general_table_bg.jpg') no-repeat;
	background-size: cover;
	border: 1px solid #222;
	padding: 10px;
	margin: 10px 0px;
	-moz-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
}
.general-table-ui tr td {
	padding: 5px;
	vertical-align: middle !important;
}
.general-table-ui tr:first-child td {
	color: #ffcc00;
}
.general-table-ui tr:nth-child(2n+2) td {
	background: rgba(0, 0, 0, 0.1);
}
.general-table-ui tr td {
	text-align: center;
}
.general-table-ui img {
	width: 50px;
	height: auto;
	-moz-box-shadow: 0 0 5px #000;
	-webkit-box-shadow: 0 0 5px #000;
	box-shadow: 0 0 5px #000;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

/* TERMS OF SERVICE PAGE */
.tos_list li {
	color: #ffcc00;
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 40px;
}
.tos_list li p {
	color: #fff;
	text-align: justify;
	text-justify: inter-word;
	text-transform: none;
	padding-right: 35px;
	font-size: 14px;
	font-weight: normal;
}

/* PAYPAL */
.paypal-gateway-container {
	width: 100%;
}

.paypal-gateway-content {
	background: #fef2da;
	border: 3px solid #f79433;
	padding: 15px;
	overflow: auto;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	font-weight: bold;
}

.paypal-gateway-logo {
	width: 100%;
	height: 100px;
	background: #fff9ec url('../img/paypal-logo-200-68.png') no-repeat center;
	background-size: contain;
	margin-bottom: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.paypal-gateway-conversion-rate {
	margin: 0px auto;
	text-align: center;
	color: #000;
	font-size: 18px;
	padding: 10px 0px;
}

.paypal-gateway-form {
	width: 100%;
	margin: 20px auto;
	text-align: center;
}

.paypal-gateway-form div {
	display: inline-block;
	padding: 0px 10px;
	color: #000;
	font-size: 24px;
}

.paypal-gateway-form input[type=text] {
	width: 60px;
	font-size: 24px;
	border: 3px solid #f79433;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	color: #f79433;
}

.paypal-gateway-continue {
	margin: 0px auto;
	text-align: center;
}

.paypal-gateway-continue input[type=submit] {
	background: url('../img/paypal-submit.jpg') no-repeat;
	width: 200px;
	height: 40px;
	border: 0px;
}

.module-requirements {
	font-size: 12px;
	margin-top: 20px;
	color: #ffcc00;
}

/* SIDEBAR */
.panel-sidebar {
	background: #372927;
	background-size: cover;
	border: 1px solid #c35b43;
	-moz-border-radius: 0px;
	border-radius: 0px;
	-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);
}

.panel-sidebar > .panel-heading {
	background: #372927 url('../img/sidebar_panel_header_bg.jpg') no-repeat;
	background-size: cover;
	color: #ffffff;
	border: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	border-bottom: 1px solid #c35b43;
	padding: 15px 15px;
}

.panel-usercp {
	background: url('../img/usercp_bg.jpg') no-repeat;
	background-size: cover;
	border: 1px solid #c35b43;
	-moz-box-shadow: 0 0 60px rgba(67, 112, 195, 0.5);
	-webkit-box-shadow: 0 0 60px rgba(67, 112, 195, 0.5);
	box-shadow: 0 0 60px rgba(67, 112, 195, 0.5);
}

.panel-usercp ul {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

.panel-usercp ul li {
	display: table;
	width: 100%;
	vertical-align: middle;
	line-height: 30px;
}

.panel-usercp ul li a {
	color: #f7ddbf !important;
}
.panel-usercp ul li a:active, .panel-usercp ul li a:hover {
	color: #ffffff !important;
}

.panel-usercp ul li img {
	position: relative;
	top: -2px;
	padding-right: 10px;
}

/* GENERAL PANEL STYLING */
.panel-general {
	margin-bottom: 30px;
	background: #333333 url('../img/general_table_bg.jpg') no-repeat;
	background-size: cover;
	border: 1px solid #222;
	-moz-border-radius: 0px;
	border-radius: 0px;
	color: #ccc;
}

.panel-body .panel-title {
	color: #ffcc00;
	font-family: 'PT Sans', sans-serif;
	font-size: 14px;
	border-bottom: 1px solid #222;
	margin-bottom: 20px !important;
	font-weight: bold;
	padding: 10px 0px !important;
}

/* ADD STATS MODULE */
.panel-addstats {
	background: #333333 url('../img/general_table_bg.jpg') no-repeat;
	background-size: cover;
	margin-bottom: 30px;
	border: 1px solid #222;
	-moz-border-radius: 0px;
	border-radius: 0px;
	color: #ccc;
	-moz-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
}
.panel-addstats .character-avatar img {
	width: 100px;
	height: auto;
	-moz-box-shadow: 0 0 5px #000;
	-webkit-box-shadow: 0 0 5px #000;
	box-shadow: 0 0 5px #000;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
.panel-addstats .character-name {
	color: #ffcc00;
	font-family: 'PT Sans', sans-serif;
	font-size: 18px;
	padding: 20px 0px !important;
	margin-bottom: 20px !important;
	font-weight: bold;
}

/* DOWNLOADS */
.panel-downloads {
	margin-bottom: 30px;
	background: #333333 url('../img/general_table_bg.jpg') no-repeat;
	background-size: cover;
	border: 1px solid #222;
	-moz-border-radius: 0px;
	border-radius: 0px;
	color: #ccc;
	-moz-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
}
	.download-description {
		font-size: 11px;
		position: relative;
		top: -7px;
		color: #777;
	}

.online-status-indicator {
	margin-left: 5px;
}

/* NEWS */
.news-article {
	position: relative;
	padding: 15px 15px;
	transition: all 0.3s ease;
	border: 1px solid #211715;
}
	.news-article .news-image {
		padding: 10px;
	}
	.news-article .news-image img {
		width: 100%;
		height: auto;
		box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.2);
	}
	.news-article .news-content {
		padding: 10px;
	}
		.news-article .news-content h3 {
			margin: 0px 0px 15px 0px;
			padding: 0px 0px 5px 0px;
			text-transform: uppercase;
			font-size: 18px;
			font-weight: bold;
			border-bottom: 1px solid #352825;
		}
		.news-article .news-content h3 a {
			color: #ffffff;
		}
		.news-article .news-content .news-date {
			font-size: 12px;
			font-style: italic;
			color: #aaa;
		}
	.news-article:hover {
		background: #2f211e;
		-moz-box-shadow: 0 0 60px rgba(0, 156, 255, 0.3);
		-webkit-box-shadow: 0 0 60px rgba(0, 156, 255, 0.3);
		box-shadow: 0 0 60px rgba(0, 156, 255, 0.3);
		border-color: #007dcc;
	}
	
/* PANEL SIDEBAR EVENT TIMERS */
.panel-sidebar-events > .panel-body {
	color: #f7ddbf;
}
	.panel-sidebar-events > .panel-body > .table {
		margin-bottom: 0px !important;
	}

.event-schedule-open {
	color: #00ff00;
}

.event-schedule-inprogress {
	color: #ffff00;
}

.panel-sidebar-events .smalltext {
	font-size: 11px;
	position: relative;
	top: -5px;
	color: #8d7962;
}

/* WEBENGINE CMS */
.webengine-powered { color: #ff0000 !important; }
.webengine-powered:active, .webengine-powered:hover { color: #ffffff !important; }

/* MY ACCOUNT CHARACTER LIST */
.myaccount-character-block {
	background: #333;
	border: 1px solid #666;
	padding: 5px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	display: inline-block;
	margin: 0px auto;
	-moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
	.myaccount-character-block img {
		width: 100px;
		height: auto;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		border-radius: 3px;
		-moz-box-shadow: 0 0 5px #000;
		-webkit-box-shadow: 0 0 5px #000;
		box-shadow: 0 0 5px #000;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
		.myaccount-character-block img:hover {
			-webkit-filter: brightness(120%);
			filter: brightness(120%);
		}
.myaccount-character-block-location {
	font-size: 12px;
	color: #fff;
	margin-bottom: 20px;
	margin-top: 2px;
	line-height: 1.2;
}
.myaccount-character-block-level {
	position: relative;
	top: -77px;
	display: inline-block;
	background: rgba(0,0,0,0.5);
	padding: 0px 5px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	color: #fff;
	font-size: 10px;
}
.myaccount-character-name a {
	font-weight: bold;
	color: #fff;
	font-size: 16px;
}

/* LANGUAGE PICKER */
.webengine-language-switcher {
	display: inline-block;
	list-style: none;
	padding: 0px !important;
	margin: 0px !important;
	width: 50px;
	height: 17px;
	overflow: hidden;
	transition: all .3s ease;
}
.webengine-language-switcher:hover {
	width: 225px;
	height: 35px;
}
	.webengine-language-switcher li {
		display: inline-block;
		list-style-type: none;
		background: #333333;
		padding: 0px 5px 2px 5px;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		-khtml-border-radius: 3px;
		transition: all .3s ease;
		margin-bottom: 3px;
	}
	.webengine-language-switcher li:hover {
		-webkit-filter: brightness(120%);
		filter: brightness(120%);
	}
	.webengine-language-switcher li a {
		color: #999999;
	}
	.webengine-language-switcher li a:hover {
		color: #ffffff !important;
	}
/* --- INICIO DE REGLAS AGREGADAS PARA FILTROS DE CLASE --- */

ul.rankings-class-filter {
    list-style: none;
    padding: 0;
    margin: 0 auto; /* Centra el UL en la página si no ocupa todo el ancho */

    /* --- PROPIEDADES FLEXBOX --- */
    display: flex; /* Convierte el UL en un contenedor flex */
    justify-content: center; /* Centra los elementos (li) horizontalmente */
    align-items: flex-start; /* Alinea los elementos al inicio de la línea si sus alturas varían */
    flex-wrap: nowrap; /* MUY IMPORTANTE: Evita que los elementos salten a la siguiente línea */
    overflow-x: auto; /* Agrega barra de desplazamiento horizontal si el contenido es demasiado ancho */
    -webkit-overflow-scrolling: touch; /* Mejora el desplazamiento en dispositivos táctiles */
    /* --- FIN PROPIEDADES FLEXBOX --- */
}

ul.rankings-class-filter li {
    float: none; /* Anula cualquier float previo que pueda estar afectando */
    margin: 0 10px; /* Ajusta el espaciado entre los iconos (10px sugerido) */
    vertical-align: top; /* Puede ser útil */
    padding: 5px; /* Espaciado interno alrededor de cada item */
    box-sizing: border-box; /* Incluye padding y border en el ancho/alto total */
    flex-shrink: 0; /* Evita que los elementos se encojan si hay poco espacio, forzando el overflow-x */
}

.rankings-class-filter-image {
    width: 60px; /* Tamaño de la imagen del icono */
    height: auto;
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); /* Sombra que ya tenías */
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    -moz-border-radius: 50%; /* Borde circular */
    border-radius: 50%;
    display: block; /* Para que margin auto funcione */
    margin: 0 auto 5px auto; /* Centra la imagen y le da un margen inferior */
}

.rankings-class-filter-selection {
    color: #fff; /* Color del texto */
    text-decoration: none; /* Sin subrayado */
    font-size: 12px; /* Tamaño del texto */
    display: block; /* Para que ocupe todo el espacio del LI y permita centrar contenido */
    text-align: center; /* Centra el texto y la imagen horizontalmente */
}

/* --- FIN DE REGLAS AGREGADAS PARA FILTROS DE CLASE --- */