/* ==========================================================================
   The Muezli-Server — Unified Multi-Era Stylesheet (2011 / Sept 2012 / 2013)
   Restored with original Wayback Machine sprites & phpBB Absolution styling
   ========================================================================== */

/* Eric Meyer Reset v2.0 (20110126) */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1.35;
	font: normal 14px Tahoma, Verdana, Arial, sans-serif;
	color: #202020;
	background: #e4f0fb url(/images/bg.png) repeat;
}
strong, b { font-weight: bold; }
em, i { font-style: italic; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

/* --- Core Site Frame --- */
#siteWrapper {
	width: 1500px;
	margin: 0 auto;
	min-height: 920px;
	padding-top: 8px;
	font: normal 14px Tahoma, Verdana, Arial, sans-serif;
	color: #202020;
}

#header {
	margin: 0 auto 14px auto;
	width: 940px;
	height: 190px;
	position: relative;
	z-index: 50;
	-webkit-box-shadow: 0px 0px 4px 1px #051f39;
	box-shadow: 0px 0px 4px 1px #051f39;
}

#headerBackground {
	width: 100%;
	height: 150px;
	background: #082c51 url(/images/style/background.png) no-repeat left top;
	display: block;
}
#headerBackground a {
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
}

#navWrapper {
	width: 940px;
	height: 52px;
	background: url(/images/style/nav-m.png) repeat-x left top;
	position: relative;
	z-index: 60;
}

/* --- Mega Menu Navigation --- */
.mega-menu ul, .mega-menu ul li { list-style: none; }
.mega-menu ul { position: relative; padding: 0; margin: 0; }
.mega-menu ul li ul { display: none; }
.mega-menu .sub { display: none; }
.mega-menu .sub ul { display: block; }

.red {
	font-family: Tahoma, Verdana, sans-serif;
	font-size: 14px;
	font-weight: bold;
	line-height: 28px;
}
.red ul.mega-menu, .red ul.mega-menu li {
	margin: 0;
	padding: 0;
	border: none;
}
.red ul.mega-menu {
	width: 924px;
	margin-left: 12px;
	height: 44px;
	padding-top: 5px;
	padding-left: 0;
	position: relative;
}
.red ul.mega-menu > li {
	float: left;
	width: 150px;
	height: 50px;
	margin-top: -5px;
	padding: 0;
	position: relative;
}
.red ul.mega-menu > li > a {
	float: left;
	width: 92px;
	display: block;
	padding: 11px 34px 11px 24px;
	text-decoration: none;
	text-align: center;
	letter-spacing: -0.3px;
	color: #082c51;
	text-shadow: 0px 1px 0px #ffffff;
	white-space: nowrap;
}
.red ul.mega-menu > li > a:hover,
.red ul.mega-menu > li.mega-hover > a {
	text-decoration: none;
	color: #005ab6;
}
.red ul.mega-menu > li:hover,
.red ul.mega-menu > li.mega-hover {
	background: url(/images/style/nav/navbg.png) repeat-x left top;
}
.red ul.mega-menu > li.divider:hover {
	background: url(/images/style/nav/divider.gif) no-repeat left top;
}
.red ul.mega-menu li .sub-container {
	position: absolute;
	top: 46px;
	left: 0 !important;
	margin-left: 0 !important;
	width: 158px;
	background: #EBF4FC;
	border: 1px solid #CEE1F3;
	border-top: none;
	box-shadow: 0 4px 10px rgba(5, 31, 57, 0.22);
	z-index: 1000;
}
.red ul.mega-menu li .sub {
	padding: 4px 0;
}
.red ul.mega-menu li .sub li {
	float: none;
	width: auto;
	height: auto;
	margin: 0;
}
.red ul.mega-menu li .sub li:hover {
	background: none;
}
.red ul.mega-menu li .sub li a {
	display: block;
	float: none;
	width: auto;
	height: auto;
	line-height: 20px;
	margin: 3px 6px;
	padding: 5px 8px;
	text-align: left;
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 0;
	color: #082c51;
	border: 1px solid transparent;
	border-radius: 2px;
}
.red ul.mega-menu li .sub li a:hover {
	background: #FFFFFF;
	border: 1px solid #CEE1F3;
	color: #005ab6;
}
/* CSS hover fallback if JS hasn't run yet */
.red ul.mega-menu > li:hover > ul {
	display: block;
	position: absolute;
	top: 46px;
	left: 0;
	width: 158px;
	background: #EBF4FC;
	border: 1px solid #CEE1F3;
	z-index: 1000;
}
#navWrapper ul li.divider {
	width: 2px;
	height: 45px;
	background: url(/images/style/nav/divider.gif) no-repeat left top;
	margin-top: 1px;
}
.dropdownArrow {
	margin-right: -18px;
	margin-bottom: -4px;
	vertical-align: baseline;
}

#nav-wrap-left {
	width: 6px;
	height: 69px;
	background: url(/images/style/nav-wrappers.png) no-repeat left top;
	float: left;
	margin: -9px 0 0 -6px;
	position: relative;
	z-index: 65;
}
#nav-wrap-right {
	width: 6px;
	height: 69px;
	background: url(/images/style/nav-wrappers.png) no-repeat -6px top;
	float: right;
	margin: -9px -6px 0 0;
	position: relative;
	z-index: 65;
}

/* --- 3-Column Main Layout --- */
#main {
	margin: 0 auto;
	clear: both;
	width: 1500px;
	min-height: 820px;
}
#mainLeft {
	float: left;
	width: 250px;
	margin-left: 10px;
	min-height: 600px;
}
#mainCenter {
	float: left;
	overflow: hidden;
	margin: -10px 20px 25px 20px;
	width: 940px;
	min-height: 780px;
	background-color: #FFFFFF;
	-webkit-box-shadow: 0px 0px 4px 1px #051f39;
	box-shadow: 0px 0px 4px 1px #051f39;
}
#mainRight {
	float: left;
	width: 250px;
	margin-right: 10px;
	min-height: 600px;
}

#textArea {
	height: auto;
	width: 898px;
	padding: 10px;
	margin: 10px;
	border: 1px solid #CEE1F3;
	background: #EBF4FC;
	color: rgb(86, 102, 113);
	overflow: hidden;
}

.text-header {
	font-weight: bold;
	color: #082c51;
}
.link {
	color: #005ab6;
	text-decoration: none;
}
.link:hover {
	text-decoration: underline;
}

/* --- Server IP Callout Banner --- */
.serverIpBanner {
	background: linear-gradient(180deg, #ffffff 0%, #f0f6fb 100%);
	border: 1px solid #a4caed;
	border-left: 4px solid #005ab6;
	border-radius: 4px;
	padding: 12px 15px;
	margin: 4px 6px 14px 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.serverIpBanner .ipLeft {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.serverIpBanner .ipLabel {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: #566671;
	font-weight: bold;
}
.serverIpBanner .ipCode {
	font-family: Consolas, Monaco, monospace;
	font-size: 18px;
	font-weight: bold;
	color: #082c51;
}
.serverIpBanner .ipActions {
	display: flex;
	gap: 8px;
	align-items: center;
}

/* --- Sidebar Containers --- */
.container {
	min-height: 140px;
	width: 250px;
	margin-bottom: 22px;
	color: rgb(86, 102, 113);
}
.containerContent {
	overflow: hidden;
	min-height: 96px;
	width: 234px;
	padding: 8px 7px;
	background: #EBF4FC;
	border-left: 1px solid #CEE1F3;
	border-right: 1px solid #CEE1F3;
	border-bottom: 1px solid #CEE1F3;
	font-size: 13px;
}
.containerHeader {
	height: 44px;
	width: 100%;
	background-image: url(/images/style/cathead-l.png);
	background-repeat: no-repeat;
}
.containerHeaderRight {
	background: url(/images/style/cathead-r.png) no-repeat right top;
}
.containerHeaderMain {
	width: 100%;
	height: 44px;
	background: url(/images/style/cathead-m.png) repeat-x left top;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.container h1 {
	padding-top: 8px;
	padding-left: 12px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #ffffff;
	text-shadow: 0px -1px 0px rgb(8, 44, 82);
}

/* --- Sidebar Server Stats --- */
table.serverStats {
	width: 100%;
	margin-bottom: 6px;
}
table.serverStats td {
	padding: 3px 2px;
	font-size: 13px;
}
table.serverStats td:first-child {
	text-align: right;
	width: 48%;
	color: #566671;
}
table.serverStats td:last-child {
	padding-left: 6px;
	color: #005ab6;
	font-weight: bold;
}
.ipSidebarBox {
	background: #ffffff;
	border: 1px solid #CEE1F3;
	border-radius: 3px;
	padding: 5px 6px;
	margin: 6px 2px;
	text-align: center;
}
.ipSidebarBox code {
	display: block;
	font-family: Consolas, Monaco, monospace;
	font-size: 13px;
	font-weight: bold;
	color: #082c51;
	margin-bottom: 4px;
}
ul.players {
	display: block;
	padding: 4px 5px 2px 5px;
	overflow: hidden;
	font-size: 12px;
}
ul.players li {
	float: left;
	margin-right: 4px;
}
ul.players li a {
	color: #005ab6;
	text-decoration: none;
}
ul.players li a:hover {
	text-decoration: underline;
}

/* --- Sidebar Top Voters & Links --- */
.sidebarTables {
	width: 94%;
	margin: 4px auto;
	font-size: 12px;
}
table.sidebarTables td {
	padding: 2px 4px;
}
table.sidebarTables td:first-child {
	text-align: right;
	width: 20px;
	color: #566671;
}
table.sidebarTables td:nth-child(2) {
	text-align: left;
	padding-left: 8px;
}
.sidebarTables a {
	color: #005ab6;
	text-decoration: none;
}
.sidebarTables a:hover {
	text-decoration: underline;
}
table.sidebarTables td:last-child {
	text-align: right;
	color: rgb(86, 102, 113);
	font-weight: bold;
}

.sidebarFeed li {
	background: #FFFFFF;
	border: 1px solid #CEE1F3;
	border-radius: 3px;
	margin-top: 6px;
	padding: 6px 8px;
	font-size: 12px;
	line-height: 1.4;
}
.sidebarFeed li:first-child {
	margin-top: 2px;
}
.sidebarFeed a {
	color: #005ab6;
	text-decoration: none;
	font-weight: bold;
}
.sidebarFeed a:hover {
	text-decoration: underline;
}
.sidebarFeed .feedMeta {
	display: block;
	font-size: 11px;
	color: #7a8b98;
	margin-top: 2px;
}

/* --- Player Search --- */
#playerSearchForm {
	text-align: center;
	margin-top: 6px;
}
#playerSearchForm input[type="text"],
#playerSearchForm input[type="textbox"],
.textbox {
	padding: 5px 7px;
	border: 1px solid #b8d3ec;
	border-radius: 3px;
	background: #ffffff;
	color: #202020;
	font-size: 12px;
	width: 175px;
}
#playerSearchForm input[type="submit"] {
	margin-top: 7px;
}

/* --- Buttons (Fixed CSS shorthand so buttonbg.png renders!) --- */
input.buttonSubmit,
button.buttonSubmit,
a.buttonSubmit {
	display: inline-block;
	margin: 2px;
	text-decoration: none;
	background: #ffffff url(/images/style/buttonbg.png) repeat-x left bottom;
	padding: 5px 12px;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 12px;
	border: 1px solid rgb(205, 224, 241);
	border-radius: 3px;
	color: rgb(56, 118, 175);
	cursor: pointer;
	line-height: 1.3;
}
input.buttonSubmit:hover,
button.buttonSubmit:hover,
a.buttonSubmit:hover {
	background: #e6f2fc url(/images/style/buttonbgactive.png) repeat-x left bottom;
	border: 1px solid #8ebee9;
	color: #005ab6;
	text-decoration: none;
}
a.buttonSelected,
button.buttonSelected {
	display: inline-block;
	margin: 2px;
	text-decoration: none;
	background: #ffffff url(/images/style/buttonbg.png) repeat-x left bottom;
	padding: 5px 12px;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 12px;
	font-weight: bold;
	border: 1px solid #a4caed;
	border-radius: 3px;
	color: #E68405;
	cursor: pointer;
}

/* --- Sept 2012 News Board --- */
.newsSectionHeader {
	clear: both;
	margin: 18px 6px 10px 6px;
	padding-bottom: 5px;
	border-bottom: 1px solid #CEE1F3;
	color: #082c51;
	font-size: 16px;
	font-weight: bold;
}
.newsPost {
	clear: both;
	min-height: 220px;
	max-width: 884px;
	width: calc(100% - 16px);
	margin: 0 auto 12px auto;
	border: 1px solid #CEE1F3;
	background: #F0F6FB;
	overflow: hidden;
}
.newsTitleBar {
	height: 35px;
	width: 100%;
	background: #0b4175 url(/images/style/vtdatebar.png) repeat-x left top;
	color: #082c51;
	font-weight: bold;
	overflow: hidden;
}
.newsPostTitle {
	float: left;
	margin-top: 8px;
	margin-left: 10px;
	color: #082c51;
	text-shadow: 0 1px 0 rgba(255,255,255,0.8);
}
.newsPostDate {
	float: right;
	margin-top: 9px;
	margin-right: 10px;
	font-size: 12px;
	font-weight: normal;
	color: #35526b;
}
.newsPostComments {
	float: right;
	margin-top: 9px;
	margin-right: 28px;
	font-size: 12px;
}
.newsPostComments a {
	color: #005ab6;
	text-decoration: none;
}
.newsPostComments a:hover {
	text-decoration: underline;
}
.newsLeftBar {
	text-align: center;
	float: left;
	min-height: 185px;
	width: 195px;
	background: #E8F1F9;
	border-right: 1px solid #CEE1F3;
	border-bottom: 1px solid #CEE1F3;
	padding: 6px 0 10px 0;
}
.newsLeftBar a {
	color: #005ab6;
	text-decoration: none;
	font-weight: bold;
}
.newsLeftBar a:hover {
	text-decoration: underline;
}
.newsLeftBarTop {
	height: 24px;
	width: 100%;
}
.newsPostAvatar {
	height: 135px;
	width: 135px;
	object-fit: cover;
	border: 2px solid #CEE1F3;
	background: #ffffff;
}
.newsActionsBar {
	float: right;
	height: 36px;
	width: auto;
}
.newsActionsBar ul {
	list-style: none;
	float: right;
	margin-top: 8px;
	margin-right: 8px;
}
.newsActionsBar li {
	float: left;
	margin-left: 8px;
	display: block;
}
.newsActionBarEdit {
	height: 22px;
	width: 53px;
	background-image: url(/images/style/icon-edit.png);
	background-position: center top;
}
.newsActionBarEdit:hover { background-position: 0px 22px; }
.newsActionBarDelete {
	height: 22px;
	width: 64px;
	background-image: url(/images/style/icon-delete.png);
	background-position: center top;
}
.newsActionBarDelete:hover { background-position: 0px 22px; }
.newsActionBarComment {
	height: 22px;
	width: 85px;
	background-image: url(/images/style/icon-comment2.png);
	background-position: 0px 22px;
}
.newsActionBarComment:hover { background-position: center top; }
.newsMainContent {
	margin-left: 196px;
	padding: 14px 18px 16px 18px;
	text-align: left;
	line-height: 1.5;
	color: #2c3e50;
}
.newsMainContent a {
	color: #005ab6;
	text-decoration: none;
}
.newsMainContent a:hover {
	text-decoration: underline;
}
.newsMainContent ul {
	margin: 8px 0 8px 20px;
}
.newsMainContent li {
	list-style: disc;
	margin-bottom: 3px;
}

/* --- 2013 About / Anthem / Prayer Cards --- */
p.aboutText {
	margin: 10px 8px;
	line-height: 1.55;
	text-align: left;
}
.slimCardsRow {
	overflow: hidden;
	margin: 18px 0 8px 0;
}
.newsPostSlim {
	float: left;
	min-height: 260px;
	width: 408px;
	border: 1px solid #CEE1F3;
	background: #F0F6FB;
	padding: 12px 14px;
	font-style: italic;
	margin: 14px 8px 10px 8px;
}
.newsPostSlim p {
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 10px;
}
.newsPostSlim p.title {
	font-style: normal;
	color: #082c51;
	font-weight: bold;
}
h1.aboutHeader1,
h1.pluginsTitle {
	font-weight: bold;
	font-style: normal;
	font-size: 13px;
	max-width: 260px;
	text-decoration: none;
	text-align: center;
	background: #ffffff url(/images/style/buttonbg2.png) repeat-x left bottom;
	padding: 6px 12px;
	font-family: Verdana, Geneva, sans-serif;
	border: 1px solid rgb(205, 224, 241);
	border-radius: 3px;
	color: #E68405;
	margin-top: -26px;
	margin-bottom: 10px;
}
h1.pluginsTitle {
	margin-left: 10px;
}

/* --- Plugins & User Profile Containers --- */
.pluginContainer {
	clear: both;
	min-height: 90px;
	width: 862px;
	border: 1px solid #CEE1F3;
	background: #F0F6FB;
	margin: 18px auto 14px auto;
	padding: 12px;
}
.pluginContainer p {
	margin-bottom: 8px;
	color: rgb(86, 102, 113);
}
.pluginContainer a {
	color: #005ab6;
	text-decoration: none;
}
.pluginContainer a:hover {
	text-decoration: underline;
}
.plugin-command-table {
	margin: 0 auto;
	color: rgb(86, 102, 113);
	width: 100%;
	border-spacing: 0;
	border: solid #CEE1F3 1px;
	border-radius: 4px;
	background: #ffffff;
}
.plugin-command-table tr:nth-child(even) { background-color: #F6FAFE; }
.plugin-command-table tr:hover { background-color: #EDF5FC; }
.plugin-command-table td,
.plugin-command-table th {
	border-left: 1px solid #DCEAF7;
	border-top: 1px solid #DCEAF7;
	padding: 8px 10px;
	text-align: left;
	font-size: 13px;
}
.plugin-command-table th {
	background: #E3EFFB;
	color: #082c51;
	font-weight: bold;
}
.plugin-command-table td:first-child {
	color: #005ab6;
	font-family: Consolas, Monaco, monospace;
	font-size: 12px;
}

/* Rank Badges across 2011, 2012 & 2013 */
.builder { background-color: #00B81A; }
.crafter { background-color: #27ae60; }
.architect { background-color: #018a01; }
.moderator { background-color: #0099aa; }
.donator, .supporter, .supporterpro, .supporterelite { background-color: #9b2687; }
.assistant, .supportermoderator { background-color: #DB4930; }
.vip, .vipmoderator { background-color: #2c3e50; }
.admin { background-color: #B4250C; }
.owner { background-color: #d35400; }

.builder, .crafter, .architect, .moderator, .donator, .supporter, .supporterpro,
.supporterelite, .assistant, .supportermoderator, .vip, .vipmoderator, .admin, .owner {
	display: inline-block;
	padding: 2px 6px;
	margin: 1px;
	border-radius: 2px;
	color: #FFFFFF;
	font-family: Tahoma, sans-serif;
	font-size: 11px;
	font-weight: bold;
}
.command { width: 210px; }
.description { width: 460px; }
.rank { width: 170px; text-align: center !important; }
.plugin-command-key {
	width: 165px;
	float: left;
	display: block;
	margin: 8px 0;
}
.plugin-clear { clear: both; margin-bottom: 10px; }
#pluginPageText { margin: 8px; }
.hr {
	margin: 14px 0 22px 0;
	height: 1px;
	width: 100%;
	background-color: #B8D3EC;
}

/* --- 2011 Ranks Accordion Restored in 2013 Theme --- */
.rankAccordionItem {
	border: 1px solid #CEE1F3;
	background: #F0F6FB;
	margin: 8px 6px;
	border-radius: 3px;
	overflow: hidden;
}
.rankAccordionHeader {
	padding: 10px 14px;
	background: #ffffff url(/images/style/buttonbg.png) repeat-x left bottom;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: bold;
	color: #082c51;
	user-select: none;
}
.rankAccordionHeader:hover {
	background: #e6f2fc url(/images/style/buttonbgactive.png) repeat-x left bottom;
	color: #005ab6;
}
.rankAccordionBody {
	display: none;
	padding: 12px;
	border-top: 1px solid #CEE1F3;
	background: #ffffff;
}
.rankAccordionItem.open .rankAccordionBody {
	display: block;
}
.rankNote {
	margin-top: 8px;
	font-size: 12px;
	font-style: italic;
	color: #005ab6;
}

/* --- Contact & Login Tables --- */
.contactTable, .loginTable {
	margin: 12px 15px;
	color: rgb(86, 102, 113);
}
.contactTable td, .loginTable td {
	padding: 6px 8px;
}
.contactTable td:first-child, .loginTable td:first-child {
	color: rgb(86, 102, 113);
	text-align: right;
	font-weight: bold;
}
.contactTable td:last-child, .loginTable td:last-child {
	color: #005ab6;
}
.contactTable td a {
	color: #005ab6;
	text-decoration: none;
}
.contactTable td a:hover {
	text-decoration: underline;
}

/* --- Avatars --- */
.avatarProfile {
	height: 100px;
	width: 100px;
	padding: 3px;
	background: linear-gradient(180deg, #EEEEEE 0%, #CCCCCC 100%);
	border: 1px solid #C8C6C0;
	border-radius: 3px;
}
.profileHeaderFlex {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 8px 10px 18px 10px;
	padding: 12px;
	background: #F0F6FB;
	border: 1px solid #CEE1F3;
	border-radius: 4px;
}

/* --- Multi-Era Gallery & Lightbox --- */
.galleryFilterBar {
	margin: 6px 10px 14px 10px;
	display: flex;
	gap: 6px;
	align-items: center;
	flex-wrap: wrap;
}
.galleryGrid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	padding: 4px 6px;
}
.galleryCard {
	background: #ffffff;
	border: 1px solid #CEE1F3;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(8, 44, 81, 0.12);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
}
.galleryCard:hover {
	transform: translateY(-2px);
	box-shadow: 0 3px 10px rgba(0, 90, 182, 0.35);
	border-color: #005ab6;
}
.galleryScene {
	height: 118px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 8px;
	color: #ffffff;
	background: linear-gradient(180deg, #3c8ce7 0%, #70b5f9 58%, #4b9b3e 58%, #3a7c30 68%, #6d4e34 68%, #543b26 100%);
}
.galleryScene.era2011 {
	background: linear-gradient(180deg, #1e3c72 0%, #2a5298 58%, #5aa449 58%, #458237 68%, #6e5036 68%, #4e3824 100%);
}
.galleryEraBadge {
	align-self: flex-start;
	background: rgba(8, 44, 81, 0.82);
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 10px;
	font-weight: bold;
}
.galleryUploaderBadge {
	align-self: flex-end;
	background: rgba(0, 0, 0, 0.62);
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 10px;
}
.galleryCaptionBox {
	padding: 8px 9px;
	font-size: 11px;
	line-height: 1.35;
	color: #354b5e;
	background: #F8FBFF;
	flex: 1;
}

/* Lightbox Modal */
#muezliLightbox {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(5, 20, 38, 0.85);
	z-index: 10000;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
#muezliLightbox.active {
	display: flex;
}
.lbModalBox {
	background: #ffffff;
	border: 2px solid #CEE1F3;
	border-radius: 6px;
	max-width: 680px;
	width: 100%;
	overflow: hidden;
	box-shadow: 0 10px 35px rgba(0,0,0,0.5);
}
.lbModalPreview {
	height: 320px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #ffffff;
	background: linear-gradient(180deg, #2d79c7 0%, #72b6fa 56%, #4b9b3e 56%, #39792f 66%, #6d4e34 66%, #4a3422 100%);
}
.lbModalFooter {
	padding: 14px 18px;
	background: #EBF4FC;
	border-top: 1px solid #CEE1F3;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

/* --- Footer --- */
#footer {
	width: 100%;
	min-width: 1500px;
	clear: both;
	padding: 18px 0 22px 0;
	background-color: #EBF4FC;
	border-top: 4px solid #CEE1F3;
}
#footer-wrapper {
	width: 940px;
	margin: 0 auto;
	overflow: hidden;
}
.footer-column {
	width: 235px;
	float: left;
}
.footer-column h1 {
	padding-top: 4px;
	padding-left: 10px;
	margin-bottom: 6px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #082c51;
}
.footer-column ul {
	margin-left: 10px;
}
.footer-column li {
	margin-bottom: 3px;
}
.footer-column li a {
	font-size: 12px;
	text-decoration: none;
	color: #005ab6;
}
.footer-column li:before {
	content: '\00BB';
	color: rgb(86, 102, 113);
	margin-right: 5px;
}
.footer-column li a:hover {
	text-decoration: underline;
}
.footerBottomNote {
	clear: both;
	padding-top: 14px;
	margin-top: 10px;
	border-top: 1px solid #CEE1F3;
	text-align: center;
	font-size: 11px;
	color: #566671;
}
.clear { clear: both; }

/* Responsive graceful scaling for laptop viewports (<1500px) */
@media (max-width: 1510px) {
	#siteWrapper {
		width: 100%;
		max-width: 1500px;
	}
	#main {
		width: 100%;
		max-width: 1500px;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 14px;
		padding: 0 12px;
		box-sizing: border-box;
	}
	#mainLeft, #mainRight {
		float: none;
		margin: 0;
		width: 214px;
		flex: 0 0 214px;
	}
	#mainLeft .container, #mainRight .container {
		width: 100%;
	}
	#mainLeft .containerContent, #mainRight .containerContent {
		width: auto;
	}
	#mainLeft .textbox, #mainRight .textbox {
		width: calc(100% - 20px);
	}
	#mainCenter {
		float: none;
		margin: -10px 0 25px 0;
		flex: 1 1 auto;
		width: auto;
		max-width: 940px;
		min-width: 0;
	}
	#textArea {
		width: auto;
		padding: 10px;
		margin: 10px;
	}
	.newsPostSlim {
		width: calc(50% - 18px);
		box-sizing: border-box;
	}
	#footer {
		min-width: 100%;
	}
}

@media (max-width: 1020px) {
	#header, #navWrapper, #footer-wrapper {
		width: calc(100% - 24px);
		max-width: 940px;
	}
	.red ul.mega-menu {
		width: 100%;
		margin-left: 0;
		display: flex;
		justify-content: space-around;
	}
	.red ul.mega-menu > li:not(.divider) {
		width: auto;
		flex: 1 1 auto;
	}
	.red ul.mega-menu > li > a {
		width: 100%;
		box-sizing: border-box;
		padding: 11px 12px;
	}
	#main {
		flex-wrap: wrap;
	}
	#mainCenter {
		order: 1;
		margin: 0 0 16px 0;
		flex: 1 1 100%;
		width: 100%;
	}
	#mainLeft {
		order: 2;
		flex: 1 1 260px;
		max-width: 460px;
	}
	#mainRight {
		order: 3;
		flex: 1 1 260px;
		max-width: 460px;
	}
	.newsPostSlim {
		width: 100%;
		float: none;
		margin: 12px 0;
	}
}
