.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 {
	background: #fafafa;
	border: 1px solid #e3e3e3;
	color: #666;
}
.form-control:focus {
	border: 1px solid #ccc;
}

/* 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: #f1f1f1;
    border: 1px solid #e3e3e3;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #ff0000;
}

.btn-primary {
    color: #ff0000;
    background-color: transparent;
	border-color: #ff0000;
	-moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    transition: all .1s ease-in;
	-moz-border-radius: 0px;
	border-radius: 0px;
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
    color: #fff !important;
    background-color: #ff0000 !important;
	border-color: #ff0000 !important;
}

/* WebEngine 1.2.7 compatibility */
.logo { text-align: center; }
.logo a { display: inline-block; }
.menu > ul { margin: 0; padding: 0; }
.menuuser ul { margin: 0; padding: 0; list-style: none; }
.logout-link, .castle-logo { padding: 15px 0; text-align: center; }
.castle-data { margin: 0; padding: 0 20px; list-style: none; }
.castle-data li { display: flex; justify-content: space-between; padding: 6px 0; }
.online-value { color: #00aa00; font-weight: bold; }
.tablestats, .tablestatsrank { width: 100%; }
.tablestats td, .tablestatsrank td, .tablestatsrank th { padding: 5px; }
.slider .slides { width: 680px; transform: translate3d(0, 0, 0); }
.footer-links { margin-bottom: 10px; }
#toTop { border: 0; background: transparent; cursor: pointer; }

/* Keep navigation centered independently from the language selector. */
.bottom-block {
	justify-content: center;
	z-index: 50;
}
.bottom-block .menu {
	width: auto;
	max-width: calc(100% - 260px);
}
.bottom-block .menu > ul {
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
}
.bottom-block .language-block {
	position: absolute;
	right: 0;
	margin-left: 0;
	z-index: 51;
}
.header-language-block {
	position: absolute;
	top: 15px;
	right: 82px;
	z-index: 60;
	box-sizing: border-box;
	margin: 0;
	padding: 8px 12px 9px;
	border: 0;
	border-bottom: 1px solid rgba(217, 177, 74, .38);
	border-radius: 2px;
	background: linear-gradient(90deg, rgba(4, 9, 17, .12), rgba(4, 9, 17, .72) 18%, rgba(4, 9, 17, .72) 82%, rgba(4, 9, 17, .12));
	box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
}
.header-language-block .block-toggler {
	display: flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
	color: rgba(198, 228, 245, .58);
	text-shadow: 0 1px 2px #000;
}
.header-language-block .block-toggler span {
	color: #e1edf4;
}
.header-language-block .block-toggler img {
	width: 34px;
	height: 20px;
	margin-left: 7px;
	box-shadow: 0 0 8px rgba(0, 0, 0, .45);
}
.header-language-block .hidden-block {
	top: 100%;
	right: 0;
	left: auto;
	margin-top: 10px;
}
.language-block .hidden-block {
	left: auto;
	right: 0;
	min-width: 230px;
	box-sizing: border-box;
	background: #060b16;
	max-height: 300px;
	overflow-y: auto;
	z-index: 52;
}
.language-block .hidden-block:after { right: 24px; }
.language-block .hidden-block a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 18px;
	white-space: nowrap;
}
.language-block .hidden-block img {
	float: none;
	flex: 0 0 auto;
	margin: 0;
}

/* Production polish: retain Perfectworld artwork and original geometry. */
.menu li a {
	font-weight: 600;
	letter-spacing: .15px;
	-webkit-font-smoothing: antialiased;
}
.menu li.active {
	background-position: center -10px;
}
.menu li.active a {
	filter: brightness(112%);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid rgba(110, 175, 255, .9);
	outline-offset: 2px;
}
.sidebar-block {
	box-sizing: border-box;
	border: 1px solid rgba(110, 175, 255, .08);
	outline: 0;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .18), inset 0 1px rgba(255, 255, 255, .015);
}
.sidebar-title {
	letter-spacing: .35px;
	text-shadow: 0 1px 2px #000, 0 0 10px rgba(110, 175, 255, .08);
}
.login-block form .form-group {
	margin-bottom: 12px;
}
.login-block form input {
	box-sizing: border-box;
	width: 100%;
	height: 39px;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.login-block form input:hover {
	border-color: #364866;
}
.login-block form input:focus {
	border-color: #5276a5;
	background-color: #08101f;
	box-shadow: 0 0 0 3px rgba(58, 146, 255, .08), inset 0 0 8px rgba(58, 146, 255, .04);
}
.login-block form > .btn {
	float: none !important;
	display: block;
	width: 100%;
	margin: 0 0 8px;
	padding: 10px 12px;
	border-color: #176bcf;
	color: #dceeff;
	background: rgba(23, 107, 207, .08);
	box-shadow: inset 0 0 10px rgba(58, 146, 255, .06);
}
.login-block form > .btn:hover,
.login-block form > .btn:focus {
	border-color: #4d9cff;
	color: #fff !important;
	background: rgba(29, 130, 255, .18) !important;
}
.tablestats tr,
.event-schedule-table tr {
	transition: background-color .2s ease;
}
.tablestats tr:hover,
.event-schedule-table tr:hover {
	background: rgba(110, 175, 255, .045);
}
.bottom-more {
	margin-top: 5px;
}
.right-button a {
	transition: transform .25s ease, filter .25s ease;
}
.right-button a:hover,
.right-button a:focus-visible {
	transform: translateX(-3px) scale(1.01);
}

/* Structural corrections found during full-page visual QA. */
body {
	background: url(../img/body-bg-repeat.jpg) center repeat-y;
	background-color: #000;
}
.container {
	align-items: flex-start;
}
.content {
	flex: 0 0 680px;
}
.right-sidebar {
	overflow: hidden;
}
.download-reg-block,
.right-button a {
	box-sizing: border-box;
	width: 290px;
}
.login-block form > .btn {
	box-sizing: border-box;
}
.perfectworld-news-empty {
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	color: rgba(110, 175, 255, .28);
}

/* Custom Season 3 header artwork; original particles and light layers remain. */
.header:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: calc(100vw + 80px);
	height: 432px;
	pointer-events: none;
	transform: translateX(-50%) scale(1.05);
	background: url(../img/vorthosmu-header.png) center top / 100% 100% no-repeat;
	filter: blur(30px) brightness(.56) saturate(.9);
	z-index: 0;
}
.header:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1280px;
	height: 432px;
	pointer-events: none;
	background: url(../img/vorthosmu-header.png) center top / 100% 100% no-repeat;
	-webkit-mask-image: linear-gradient(90deg,
		transparent 0%,
		rgba(0, 0, 0, .08) 4%,
		rgba(0, 0, 0, .28) 9%,
		rgba(0, 0, 0, .65) 14%,
		#000 20%,
		#000 80%,
		rgba(0, 0, 0, .65) 86%,
		rgba(0, 0, 0, .28) 91%,
		rgba(0, 0, 0, .08) 96%,
		transparent 100%);
	mask-image: linear-gradient(90deg,
		transparent 0%,
		rgba(0, 0, 0, .08) 4%,
		rgba(0, 0, 0, .28) 9%,
		rgba(0, 0, 0, .65) 14%,
		#000 20%,
		#000 80%,
		rgba(0, 0, 0, .65) 86%,
		rgba(0, 0, 0, .28) 91%,
		rgba(0, 0, 0, .08) 96%,
		transparent 100%);
	z-index: 1;
}
.header .logo {
	display: block;
	position: absolute;
	top: 205px;
	left: 50%;
	width: 190px;
	height: 190px;
	margin-left: -95px;
	z-index: 3;
}
.header .logo:before {
	content: "";
	position: absolute;
	inset: 30px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 121, 20, .2) 0%, rgba(255, 83, 0, .07) 42%, transparent 72%);
	box-shadow: 0 0 24px rgba(255, 111, 22, .12);
	pointer-events: none;
}
.header .logo a {
	display: block;
	position: relative;
	z-index: 1;
}
.header .logo img {
	display: block;
	width: 190px;
	height: 190px;
	object-fit: contain;
	filter: drop-shadow(0 4px 5px rgba(0, 0, 0, .78)) drop-shadow(0 0 7px rgba(255, 111, 22, .42));
}
.header .server-block,
.header .big-light,
.header .small-light,
.header .sparks {
	z-index: 2;
}
.header .server-block {
	right: 10px;
	bottom: 26px;
	z-index: 52;
	box-sizing: border-box;
	width: 238px;
	height: 68px;
	padding: 10px 14px 9px;
	border: 1px solid rgba(217, 177, 74, .36);
	border-radius: 4px;
	background: linear-gradient(90deg, rgba(5, 10, 18, .72), rgba(7, 13, 22, .96) 16%, rgba(18, 19, 19, .94));
	box-shadow: inset 0 1px rgba(255, 255, 255, .03), 0 6px 18px rgba(0, 0, 0, .34);
	transform: none;
}
.header .server-block p {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 6px;
	font-size: 14px;
	line-height: 17px;
	text-shadow: 0 1px 2px #000;
}
.header .server-block p span {
	position: static;
	float: none;
	flex: 0 0 13px;
	width: 13px;
	height: 13px;
	background-size: 13px 13px;
}
.header .server-block .progress-bar-bg {
	height: 3px;
	margin: 0 0 5px;
	background: rgba(0, 0, 0, .8);
}
.header .server-block .progress-bar-bg .progress-bar {
	height: 3px;
	margin: 0;
}
.header .server-block .server-status {
	font-size: 11px;
	line-height: 13px;
	white-space: nowrap;
}
.bottom-block:before {
	content: "";
	position: absolute;
	top: -69px;
	left: 50%;
	width: 1918px;
	height: 165px;
	transform: translateX(-50%);
	background: url(../img/menu-bg.png) center top no-repeat;
	pointer-events: none;
	z-index: 0;
}
.bottom-block .menu {
	position: relative;
	z-index: 1;
}

/* Configurable social shortcuts, isolated from the centered main navigation. */
.social-menu {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	width: 280px;
	height: 96px;
}
.social-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	border: 1px solid rgba(196, 169, 83, .65);
	border-radius: 50%;
	color: #c6e4f5;
	background: radial-gradient(circle at 50% 42%, #253142 0%, #0a111c 58%, #03070d 100%);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, .42), inset 0 0 10px rgba(255, 213, 99, .08), 0 0 10px rgba(0, 0, 0, .65);
	transition: transform .18s ease, border-color .18s ease, color .18s ease, filter .18s ease;
}
.social-button svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}
.social-button:hover,
.social-button:focus-visible {
	color: #fff1c4 !important;
	border-color: #d8b84f;
	filter: brightness(1.18);
	transform: translateY(-3px);
}
.social-count-1 { gap: 0; }
.social-count-2 { gap: 18px; }
.social-count-3 { gap: 14px; }
.social-count-4 { gap: 10px; }

.perfectworld-events .event-schedule-table {
	width: calc(100% - 24px);
	margin: 0 12px;
}
.perfectworld-events .event-schedule-table tr {
	border-bottom: 1px dashed #263545;
}
.perfectworld-events .event-schedule-table tr:last-child { border-bottom: 0; }
.perfectworld-events .event-schedule-table td {
	padding: 9px 4px;
	vertical-align: middle;
}
.perfectworld-events .event-schedule-table td:last-child {
	color: #6eafff;
	text-align: right;
}
.perfectworld-events .event-schedule-table small {
	display: block;
	margin-top: 3px;
	color: #507285;
	font-size: 10px;
}
.perfectworld-home-news { width: 100%; }
.perfectworld-news-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 62px;
	padding: 0 24px;
	background: url(../img/news-title-bg.png);
	border: 1px solid rgba(198, 228, 245, .1);
}
.perfectworld-news-heading h2 {
	margin: 0;
	color: #c6e4f5;
	font-size: 17px;
	font-weight: normal;
	text-transform: uppercase;
}
.perfectworld-news-heading a { color: #6eafff; }
.perfectworld-news-row {
	display: grid;
	grid-template-columns: 105px 1fr 90px;
	align-items: center;
	min-height: 58px;
	padding: 0 20px;
	border-bottom: 1px dashed #263545;
	background: rgba(6, 11, 22, .72);
}
.perfectworld-news-type { color: #be1a2d; text-transform: uppercase; }
.perfectworld-news-title { color: #c6e4f5; }
.perfectworld-news-row time { color: #507285; text-align: right; }
.perfectworld-news-empty {
	padding: 35px 20px;
	color: #507285;
	text-align: center;
	background: rgba(6, 11, 22, .72);
}

/* Server information grids: dark rows, semi-white reserved for labels. */
.content .table.table-striped > thead > tr,
.content .table.table-striped > tbody > tr,
.content .table.table-striped > tbody > tr:nth-of-type(odd),
.content .table.table-striped > tbody > tr:nth-of-type(even) {
	background: #07101d !important;
}
.content .table.table-striped > tbody > tr:hover {
	background: #0b1726 !important;
}
.content .table.table-striped th {
	background: #091522 !important;
	color: rgba(224, 239, 248, .88);
	font-weight: 600;
}
.content .table.table-striped td {
	background: transparent !important;
	color: #7690a3;
}
.content .table.table-striped td:first-child {
	color: rgba(224, 239, 248, .82);
	font-weight: 500;
}
.content .table.table-striped td[colspan],
.content .table.table-striped td.text-center:first-child {
	color: rgba(224, 239, 248, .82);
}
