/*!
 =========================================================
 * WebEngine CMS — Custom Dark/Gold Theme
 * Redesigned Homepage (News + Login)
 =========================================================
*/

/* ============================================
   1. GLOBAL COLOR VARIABLES (DARK + GOLD THEME)
   ============================================ */
:root {
    --webenginebg1: #0a0a0a;
    --webenginebg2: rgba(15, 15, 15, 0.88);
    --webenginebg3: #111111;

    --webenginecolor1: #d4af37;
    --webenginecolor2: #e0e0e0;

    --webenginecolor3: #999999;
    --webenginecolor4: #d4af37;

    --webenginecolor5: #1a1a1a;
    --webenginecolor6: #d4af37;
    --webenginecolor7: #d4af37;

    --webenginecolor8: #d4af37;
    --webenginecolor9: #000000;
    --webenginecolor10: #d4af37;

    --webenginecolor11: #eac654;
    --webenginecolor12: #000000;
    --webenginecolor13: #d4af37;

    --webenginecolor14: #777777;
    --webenginecolor63: #333333;

    --webenginecolor15: rgba(0, 0, 0, 0.4);
    --webenginecolor16: rgba(255, 255, 255, 0.1);
    --webenginecolor17: #e0e0e0;
    --webenginecolor18: #d4af37;

    --webenginecolor19: #aaaaaa;
    --webenginecolor20: #d4af37;

    --webenginecolor21: rgba(255, 255, 255, 0.1);
    --webenginecolor22: rgba(255, 255, 255, 0.03);
    --webenginecolor23: #888888;

    --webenginecolor24: rgba(255, 255, 255, 0.05);
    --webenginecolor25: #aaaaaa;
    --webenginecolor26: #d4af37;

    --webenginecolor27: rgba(255, 255, 255, 0.03);
    --webenginecolor28: rgba(255, 255, 255, 0.05);

    --webenginecolor29: #fef2da;
    --webenginecolor30: #f79433;
    --webenginecolor31: #fff9ec;
    --webenginecolor32: #f79433;

    --webenginecolor33: #cccccc;

    --webenginecolor34: rgba(0, 0, 0, 0.8);
    --webenginecolor35: #999999;
    --webenginecolor36: #ff4444;
    --webenginecolor37: #999999;
    --webenginecolor38: #d4af37;

    --webenginecolor39: #1a1a1a;
    --webenginecolor40: #999999;
    --webenginecolor41: #d4af37;

    --webenginecolor42: rgba(0, 0, 0, 0.5);
    --webenginecolor43: rgba(255, 255, 255, 0.1);
    --webenginecolor44: #aaaaaa;
    --webenginecolor45: rgba(0, 0, 0, 0.7);
    --webenginecolor46: #000000;
    --webenginecolor47: #ffffff;
    --webenginecolor48: #cccccc;
    --webenginecolor49: #00ff00;
    --webenginecolor50: #000000;
    --webenginecolor51: #555555;
    --webenginecolor52: #d4af37;
    --webenginecolor53: #000000;

    --webenginecolor54: #1a1a1a;
    --webenginecolor55: rgba(0, 0, 0, 0.5);
    --webenginecolor56: #000000;
    --webenginecolor57: #cccccc;
    --webenginecolor58: rgba(0, 0, 0, 0.7);
    --webenginecolor59: #d4af37;
    --webenginecolor60: #ffffff;

    --webenginecolor61: #999999;
    --webenginecolor62: rgba(0, 0, 0, 0.5);
}

/* ============================================
   2. BASE STYLES
   ============================================ */
* { box-sizing: border-box; }

html {
    min-width: 100%;
}

body {
    background: var(--webenginebg1) url('../img/background.jpg') no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    color: var(--webenginecolor2);
    font-family: 'PT Sans', 'Segoe UI', Arial, sans-serif;
    font-size: 14px;
    margin: 0;
    min-height: 100vh;
}

body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: -1;
    pointer-events: none;
}

@media only screen and (min-width: 2000px) {
    body {
        background: var(--webenginebg1) url('../img/background-2600.jpg') no-repeat top center !important;
        background-size: cover;
    }
}

a {
    color: var(--webenginecolor3);
    text-decoration: none;
    transition: all .2s ease-in;
}

a:hover {
    color: var(--webenginecolor4);
}

img { border: 0; }

input[type=text], input[type=password], input[type=number] {
    background: var(--webenginecolor15);
    border: 1px solid var(--webenginecolor16);
    color: var(--webenginecolor17);
    transition: border-color .3s;
}

input[type=text]:focus, input[type=password]:focus, input[type=number]:focus {
    border: 1px solid var(--webenginecolor18);
    outline: none;
}

/* ============================================
   3. LAYOUT
   ============================================ */
#header {
    width: 100%;
    margin: 0 auto;
    padding: 60px 0 10px 0;
    text-align: center;
}

#container {
    background: var(--webenginebg2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    width: 1200px;
    max-width: 95%;
    height: auto;
    margin: 0 auto;
    padding: 20px 0;
    border-radius: 5px 5px 0 0;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 0;
}

#content {
    width: 100%;
    overflow: auto;
    min-height: 500px;
    padding: 10px 20px 0 20px;
}

.footer {
    background: var(--webenginebg3);
    font-family: 'Segoe UI', 'Lucida Sans Unicode', 'Lucida Grande', Tahoma, Arial, sans-serif;
    width: 1200px;
    max-width: 95%;
    font-size: 12px;
    color: var(--webenginecolor14);
    padding: 40px;
    overflow: auto;
    margin: 0 auto 100px auto;
    border-radius: 0 0 5px 5px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top: 0;
}

.footer > .footer-container {
    width: 100%;
    margin: 0 auto;
}

.footer > .footer-container a:hover {
    text-decoration: underline !important;
    color: #d4af37;
}

.footer hr {
    border: 0;
    border-top: 1px solid var(--webenginecolor63);
}

.footer .footer-social-link {
    filter: grayscale(100%);
    transition: all .3s ease;
}

.footer .footer-social-link:hover {
    filter: grayscale(0%);
}

/* ============================================
   4. NAVBAR
   ============================================ */
#navbar {
    width: 1200px;
    max-width: 95%;
    margin: 0 auto;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.4);
}

#navbar ul {
    text-align: center;
    margin: 0;
    padding: 0;
}

#navbar ul li {
    list-style-type: none;
    display: inline-block;
    font-size: 14px;
}

#navbar ul li a {
    display: inline-block;
    color: var(--webenginecolor19) !important;
    text-decoration: none;
    padding: 18px 28px;
    transition: all .3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#navbar ul li a:active,
#navbar ul li a:focus,
#navbar ul li a:hover {
    color: var(--webenginecolor20) !important;
    text-decoration: none;
}

.admincp-button {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #d4af37 !important;
    border: 2px solid #000 !important;
    color: #000 !important;
    font-weight: bold !important;
}

.page-title {
    color: var(--webenginecolor1);
    font-family: 'PT Sans', sans-serif;
    font-size: 32px;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center;
}

/* ============================================
   5. HOMEPAGE GRID (NEWS + LOGIN) — NEW
   ============================================ */
.homepage-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    padding: 30px 20px 50px 20px;
    align-items: start;
}

@media (max-width: 900px) {
    .homepage-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

.section-subtitle {
    color: #d4af37;
    font-size: 0.72rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: bold;
    display: block;
    margin-bottom: 6px;
}

.section-title-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 25px;
    gap: 15px;
}

.section-title {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 2.4rem;
    color: #fff;
    margin: 0;
    font-weight: normal;
    letter-spacing: 1px;
    line-height: 1.1;
}

.section-view-all {
    color: #d4af37;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    white-space: nowrap;
}

.section-view-all:hover {
    color: #eac654;
}

/* --- News Column --- */
.news-column {
    width: 100%;
}

.news-empty-box {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 25px;
}

.news-empty-icon {
    color: #d4af37;
    font-size: 1.8rem;
    flex-shrink: 0;
    line-height: 1;
}

.news-empty-content h3 {
    margin: 0 0 6px 0;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    font-weight: bold;
}

.news-empty-content p {
    margin: 0;
    font-size: 0.85rem;
    color: #aaa;
    line-height: 1.5;
}

/* --- Login Column --- */
.login-column {
    width: 100%;
}

.login-box {
    background: rgba(15, 15, 15, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 35px 30px;
}

.login-box h2 {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.9rem;
    color: #fff;
    margin: 0 0 15px 0;
    font-weight: normal;
    letter-spacing: 1px;
    line-height: 1.2;
}

.login-box-desc {
    color: #aaa;
    font-size: 0.85rem;
    line-height: 1.6;
    margin: 0 0 25px 0;
}

.login-box input[type="text"],
.login-box input[type="password"] {
    width: 100%;
    padding: 14px;
    margin-bottom: 12px;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.9rem;
    transition: border-color 0.3s;
    display: block;
}

.login-box input[type="text"]::placeholder,
.login-box input[type="password"]::placeholder {
    color: #666;
}

.login-box input[type="text"]:focus,
.login-box input[type="password"]:focus {
    border-color: #d4af37;
    outline: none;
}

.login-btn {
    width: 100%;
    padding: 14px;
    background: #d4af37;
    color: #000;
    border: none;
    font-weight: bold;
    letter-spacing: 2px;
    font-size: 0.82rem;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s;
    display: block;
}

.login-btn:hover {
    background: #eac654;
}

.login-box-links {
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    gap: 10px;
}

.login-box-links a {
    color: #666;
    font-size: 0.68rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: bold;
}

.login-box-links a:hover {
    color: #d4af37;
}

/* ============================================
   6. NEWS MODULE (CMS default output)
   ============================================ */
.panel-news {
    margin-bottom: 30px;
    color: var(--webenginecolor2);
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 0 var(--webenginecolor16);
}
.panel-news .panel-heading { padding: 10px 0; }
.panel-news .panel-title { color: var(--webenginecolor2); font-size: 24px; font-weight: bold; }
.panel-news .panel-body { padding: 10px; }
.panel-news .panel-footer {
    border-top: 1px solid var(--webenginecolor21);
    background: var(--webenginecolor22);
    font-style: italic;
    font-size: 11px;
    height: 40px;
    color: var(--webenginecolor23);
}

/* ============================================
   7. PANELS & TABLES
   ============================================ */
.panel-general,
.panel-addstats,
.panel-downloads {
    margin-bottom: 30px;
    background: var(--webenginecolor27);
    border: 1px solid var(--webenginecolor16);
    border-radius: 0;
    color: var(--webenginecolor2);
}

.panel-body .panel-title {
    color: var(--webenginecolor14);
    font-family: 'PT Sans', sans-serif;
    font-size: 14px;
    border-bottom: 1px solid var(--webenginecolor16);
    margin-bottom: 20px !important;
    font-weight: bold;
}

.panel-sidebar {
    background: var(--webenginecolor27);
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 10px var(--webenginecolor16);
}
.panel-sidebar > .panel-heading {
    background: var(--webenginecolor5) !important;
    color: var(--webenginecolor6) !important;
    font-family: 'PT Sans', sans-serif;
    border: 0;
    border-radius: 0;
    border-bottom: 3px solid var(--webenginecolor7) !important;
}

.panel-usercp {
    background: url('../img/usercp_bg.jpg') no-repeat top center;
    background-size: cover;
}
.panel-usercp ul { list-style-type: none; padding: 0; margin: 0; }
.panel-usercp ul li {
    display: table;
    width: 100%;
    vertical-align: middle;
    line-height: 30px;
}
.panel-usercp ul li a { color: var(--webenginecolor33) !important; font-weight: bold; }
.panel-usercp ul li a:active,
.panel-usercp ul li a:hover { color: var(--webenginecolor1) !important; }
.panel-usercp ul li img {
    position: relative;
    top: -2px;
    width: 25px;
    height: 25px;
    margin-right: 5px;
}

.sidebar-banner { margin: 20px 0; border: 0; }
.sidebar-banner img {
    box-shadow: 0 0 10px var(--webenginecolor16);
    border: 0;
    border-radius: 5px;
}

/* ============================================
   8. RANKINGS
   ============================================ */
.rankings-table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}
.rankings-class-image {
    width: 30px;
    height: auto;
    box-shadow: 0 0 5px var(--webenginecolor14);
    border-radius: 50%;
}
.rankings-table tr td {
    border-bottom: 1px solid var(--webenginecolor16);
    padding: 10px;
    font-size: 16px;
    vertical-align: middle !important;
    text-align: center;
    color: var(--webenginecolor2);
}
.rankings-table-place {
    color: var(--webenginecolor14);
    font-weight: bold;
    font-size: 22px;
    text-align: center;
}
.rankings-table tr:first-child td {
    color: var(--webenginecolor1);
    border-bottom: 3px solid var(--webenginecolor1);
}
.rankings-update-time {
    text-align: right;
    font-size: 11px;
    color: var(--webenginecolor14);
    padding: 10px 0;
}
.rankings_menu {
    width: 100%;
    overflow: auto;
    text-align: center;
    margin-bottom: 10px;
}
.rankings_menu span {
    width: 100%;
    display: inline-block;
    padding: 10px 0;
    font-size: 22px;
}
.rankings_menu a {
    display: inline-block;
    width: 150px;
    border: 1px solid var(--webenginecolor16);
    text-align: center;
    padding: 5px 0;
    margin: 2px;
    background: var(--webenginecolor24);
    border-radius: 2px;
    color: var(--webenginecolor25);
}
.rankings_menu a.active {
    color: var(--webenginecolor26);
    border-color: var(--webenginecolor26);
}
.rankings_guild_logo tr td {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.rankings-gens-img {
    width: auto !important;
    height: 30px !important;
    border: 0 !important;
    box-shadow: 0 0 0 #000 !important;
    border-radius: 0 !important;
}
.rankings-class-filter {
    display: inline-block;
    list-style-type: none;
    margin: 20px auto;
    padding: 10px 20px;
    border-radius: 10px;
}
.rankings-class-filter li {
    display: inline-block;
    transition: all 0.3s ease;
    margin-bottom: 10px;
}
.rankings-class-filter li:hover { filter: grayscale(0%); }
.rankings-class-filter-selection {
    display: inline-block;
    width: 75px;
    text-align: center;
    color: var(--webenginecolor61);
    font-size: 11px;
    cursor: pointer;
}
.rankings-class-filter-selection:hover { color: var(--webenginecolor61) !important; }
.rankings-class-filter-selection:hover img { filter: brightness(120%); }
.rankings-class-filter-selection img {
    width: 40px;
    height: auto;
    border-radius: 50%;
    margin-bottom: 5px;
    transition: all 0.3s ease;
    box-shadow: 0 0 10px 0 var(--webenginecolor62);
}
.rankings-class-filter-grayscale { filter: grayscale(100%); }

/* ============================================
   9. TABLES
   ============================================ */
.myaccount-table {
    width: 100%;
    background: var(--webenginecolor27);
    border: 1px solid var(--webenginecolor16);
    color: var(--webenginecolor2);
}
.myaccount-table tr td:first-child {
    color: var(--webenginecolor14);
    font-weight: bold;
}
.myaccount-table tr td {
    border-bottom: 1px solid var(--webenginecolor16);
    padding: 15px !important;
}
.myaccount-table tr:last-child td { border: 0; }

.general-table-ui {
    width: 100%;
    table-layout: fixed;
    background: var(--webenginecolor27);
    border: 1px solid var(--webenginecolor16);
    padding: 10px;
    margin: 10px 0;
    color: var(--webenginecolor2);
}
.general-table-ui tr td {
    padding: 5px;
    vertical-align: middle !important;
    text-align: center;
    border-bottom: 1px solid var(--webenginecolor16);
}
.general-table-ui tr:first-child td { color: var(--webenginecolor1); }
.general-table-ui tr:nth-child(2n+2) td { background: var(--webenginecolor28); }
.general-table-ui img {
    width: 50px;
    height: auto;
    box-shadow: 0 0 5px var(--webenginecolor14);
}

/* ============================================
   10. GLOBAL TOP BAR
   ============================================ */
.global-top-bar {
    width: 100%;
    background: var(--webenginecolor34);
    color: var(--webenginecolor35);
    padding: 7px 0 2px 0;
    text-transform: uppercase;
    font-size: 12px;
}
.global-top-bar .global-top-bar-content {
    width: 1200px;
    max-width: 95%;
    margin: 0 auto;
}
.global-top-bar .global-top-bar-content .row { margin: 0; padding: 0; }
.global-top-bar a.logout { color: var(--webenginecolor36) !important; }
.global-top-bar a { color: var(--webenginecolor37) !important; }
.global-top-bar a:hover { color: var(--webenginecolor38) !important; }
.global-top-bar-nopadding { padding: 0 !important; }
.global-top-bar-separator { padding: 0 5px; }

/* ============================================
   11. LANGUAGE SWITCHER
   ============================================ */
.webengine-language-switcher {
    display: inline-block;
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
    width: 46px;
    height: 19px;
    overflow: hidden;
    transition: all .3s ease;
}
.webengine-language-switcher:hover { width: 400px; }
.webengine-language-switcher li {
    display: inline-block;
    list-style-type: none;
    background: var(--webenginecolor39);
    padding: 0 5px 2px 5px;
    border-radius: 3px;
    transition: all .3s ease;
}
.webengine-language-switcher li:hover { filter: brightness(120%); }
.webengine-language-switcher li a { color: var(--webenginecolor40); }
.webengine-language-switcher li a:hover { color: var(--webenginecolor41) !important; }

/* ============================================
   12. HEADER INFO BOX
   ============================================ */
.webengine-mu-logo { transition: all .3s ease; }
.webengine-mu-logo:hover { filter: brightness(120%); }

.header-info-container {
    width: 1200px;
    max-width: 95%;
    margin: 0 auto;
    text-align: right;
}
.header-info-container .header-info {
    display: inline-block;
    width: 350px;
    background: var(--webenginecolor42);
    backdrop-filter: blur(5px);
    margin: 0;
    padding: 20px;
    overflow: auto;
    box-shadow: 0 0 15px var(--webenginecolor45);
    border-radius: 5px;
    text-shadow: 1px 1px 3px var(--webenginecolor46);
    color: var(--webenginecolor44);
    border: 1px solid var(--webenginecolor43);
    font-size: 12px;
}
.header-info-container .header-info .header-info-block { padding: 0; color: var(--webenginecolor44); }
.header-info-container .header-info .header-info-block #tServerTime,
.header-info-container .header-info .header-info-block #tLocalTime { color: var(--webenginecolor47); }
.header-info-container .header-info .header-info-block #tServerDate,
.header-info-container .header-info .header-info-block #tLocalDate { color: var(--webenginecolor48); }
.header-info-container .header-info .header-info-block .online-count { color: var(--webenginecolor49); }

/* ============================================
   13. ONLINE BAR
   ============================================ */
.webengine-online-bar {
    width: 100%;
    background: var(--webenginecolor50);
    border: 1px solid var(--webenginecolor51);
    height: 8px;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0;
    border-radius: 4px;
    overflow: hidden;
    transition: all .3s ease;
}
.webengine-online-bar .webengine-online-bar-progress {
    height: 8px;
    background: var(--webenginecolor52) url('../img/online_progress_bar.jpg') no-repeat left center;
    border-radius: 0 1px 1px 0;
}
.webengine-online-bar:hover { filter: brightness(120%); }

/* ============================================
   14. MY ACCOUNT CHARACTER LIST
   ============================================ */
.myaccount-character-block {
    background: var(--webenginecolor54);
    border: 1px solid var(--webenginecolor14);
    padding: 5px;
    border-radius: 3px;
    display: inline-block;
    margin: 0 auto;
    box-shadow: 0 0 10px var(--webenginecolor55);
}
.myaccount-character-block img {
    width: 100px;
    height: auto;
    border-radius: 3px;
    box-shadow: 0 0 5px var(--webenginecolor56);
    transition: all 0.3s ease;
}
.myaccount-character-block img:hover { filter: brightness(120%); }
.myaccount-character-block-location {
    font-size: 12px;
    color: var(--webenginecolor57);
    margin-bottom: 20px;
    margin-top: 2px;
    line-height: 1.2;
}
.myaccount-character-block-level {
    position: relative;
    top: -77px;
    display: inline-block;
    background: var(--webenginecolor58);
    padding: 0 5px;
    border-radius: 3px;
    color: var(--webenginecolor59);
    font-size: 10px;
}
.myaccount-character-name a {
    font-weight: bold;
    color: var(--webenginecolor60);
    font-size: 16px;
}

/* ============================================
   15. PAYPAL
   ============================================ */
.paypal-gateway-container { width: 100%; }
.paypal-gateway-content {
    background: var(--webenginecolor29);
    border: 3px solid var(--webenginecolor30);
    padding: 15px;
    overflow: auto;
    border-radius: 5px;
    font-weight: bold;
}
.paypal-gateway-logo {
    width: 100%;
    height: 100px;
    background: var(--webenginecolor31) url('../img/paypal-logo-200-68.png') no-repeat center;
    background-size: contain;
    margin-bottom: 15px;
    border-radius: 5px;
}
.paypal-gateway-conversion-rate {
    margin: 0 auto;
    text-align: center;
    color: var(--webenginecolor2);
    font-size: 18px;
    padding: 10px 0;
}
.paypal-gateway-form {
    width: 100%;
    margin: 20px auto;
    text-align: center;
}
.paypal-gateway-form div {
    display: inline-block;
    padding: 0 10px;
    color: var(--webenginecolor2);
    font-size: 24px;
}
.paypal-gateway-form input[type=text] {
    width: 60px;
    font-size: 24px;
    border: 3px solid var(--webenginecolor32);
    border-radius: 5px;
    color: var(--webenginecolor32);
}
.paypal-gateway-continue {
    margin: 0 auto;
    text-align: center;
}
.paypal-gateway-continue input[type=submit] {
    background: url('../img/paypal-submit.jpg') no-repeat;
    width: 200px;
    height: 40px;
    border: 0;
}
.module-requirements { font-size: 12px; margin-top: 20px; }

/* ============================================
   16. MISC
   ============================================ */
.panel-addstats .character-avatar img {
    width: 100px;
    height: auto;
    box-shadow: 0 0 5px var(--webenginecolor14);
}
.panel-addstats .character-name {
    color: var(--webenginecolor14);
    font-family: 'PT Sans', sans-serif;
    font-size: 18px;
    border-bottom: 1px solid var(--webenginecolor16);
    padding: 20px 0;
    margin-bottom: 20px !important;
    font-weight: bold;
}
.download-description {
    font-size: 11px;
    position: relative;
    top: -7px;
    color: var(--webenginecolor14);
}
.online-status-indicator { margin-left: 5px; }
.webengine-powered { color: var(--webenginecolor14) !important; }
.webengine-powered:active,
.webengine-powered:hover { color: #d4af37 !important; }

/* Home News List (CMS default) */
.home-news-block .home-news-block-header h2 {
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    font-style: italic;
}
.home-news-block .home-news-block-header a {
    display: inline-block;
    padding-top: 5px;
    font-style: italic;
    font-size: 16px;
}
.home-news-block-article { margin-top: 10px; }
.home-news-block-article .home-news-block-article-type {
    display: block;
    border: 1px solid var(--webenginecolor1);
    padding: 5px;
    text-align: center;
    color: var(--webenginecolor1);
}
.home-news-block-article .home-news-block-article-title-container {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.home-news-block-article .home-news-block-article-title,
.home-news-block-article .home-news-block-article-date { line-height: 30px; }

.event-schedule-open { color: #4caf50; }
.event-schedule-inprogress { color: #ff9800; }
.panel-sidebar-events .smalltext { font-size: 11px; position: relative; top: -5px; }