/* ============================================
   C&C Labs
   ============================================ */

@font-face {
    font-family: 'Russel Square';
    src: url('/res/fonts/russel-square.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    /* C&C Labs color palette */
    --cnc-bg-dark: #222;
    --cnc-text-light: #fff;
    --cnc-link-blue: #69f;
    --cnc-link-blue-light: #9cf;
    --cnc-link-blue-visited: #7a9ed0;
    --cnc-link-green: #6c6;
    --cnc-accent-blue: #036;
    --cnc-accent-blue-dark: #003772;
    --cnc-accent-blue-text: #011735;
    --cnc-accent-blue-gray: #a4bccc;
    --cnc-subnav-bg: #0e3d7c;
    --cnc-separator: #36a;
    --cnc-body-bg: #222;
    --bs-body-font-family: 'Inter', var(--bs-font-sans-serif);
}

.dropdown-menu {
  --bs-dropdown-bg: var(--cnc-accent-blue-gray);
  --bs-dropdown-link-color: var(--cnc-accent-blue-text);
  --bs-dropdown-link-hover-color: var(--cnc-text-light);
  --bs-dropdown-link-hover-bg: var(--cnc-accent-blue);
  --bs-dropdown-divider-bg: rgba(0, 30, 80, 0.25);
}

/* ============================================
   Base Styles
   ============================================ */

html {
  font-size: 14px;
}

h1 { font-size: 1.5rem; font-family: 'Russel Square', sans-serif; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1.15rem; }
h4 { font-size: 1.05rem; }

body {
  background-color: var(--cnc-bg-dark);
  background-image: url(/res/images/background.png);
  color: var(--cnc-text-light);
}

/* ============================================
   Typography & Links
   ============================================ */

a {
  color: var(--cnc-link-blue);
  text-decoration: none;
}

:where(a:visited) {
  color: var(--cnc-link-blue-visited);
}

:where(a:hover) {
  color: var(--cnc-link-green);
  text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--cnc-text-light);
}

.text-muted {
  color: var(--cnc-accent-blue-gray) !important;
}

p {
  margin-bottom: 1em;
}

/* ============================================
   Site Header
   ============================================ */

.site-header {
  margin-bottom: 1rem;
}

/* ============================================
   Header Top Row
   ============================================ */

.header-top-row {
  background: linear-gradient(180deg, #154d8e 0%, #0a2040 100%);
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  padding: 0 0 0 1rem;
  position: relative;
  z-index: 1;
}

.header-top-row .navbar-brand {
  flex-shrink: 0;
  padding: 0.25rem 0;
}

.header-top-row {
  /* Bootstrap .navbar-toggler variables — normally defined on .navbar,
     but .header-top-row is not a .navbar so we define them here. */
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-border-color: rgba(153, 204, 255, 0.4);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
}

.header-top-row .navbar-toggler {
  margin-right: 0.75rem;
  align-self: center;
}

.header-top-row .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(153, 204, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ============================================
   Header Top Right (Game Nav + Login)
   ============================================ */

.header-top-right {
  text-align: right;
  display: flex;
  flex-direction: column;
}

/* ============================================
   Game Series Navigation
   ============================================ */

.game-nav {
  background: linear-gradient(180deg, #0d3870 0%, #10407a 50%, #071e40 100%);
  border-bottom-left-radius: 0.75rem;
  height: 2.25rem;
}

.game-nav > ul {
  list-style: none;
  margin: 0;
  padding: 0 0.75rem 0 1.75rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: flex-end;
  white-space: nowrap;
}

.game-nav a,
.game-nav a:visited {
  text-decoration: none;
  font-family: 'Russel Square', sans-serif;
  font-size: 1.35rem;
}

.game-nav a:hover {
  color: var(--cnc-link-green);
  text-decoration: none;
}

.game-nav-redalert { color: #f44 !important; }
.game-nav-redalert:hover { color: #f88 !important; }

.game-nav-tiberium { color: #6c6 !important; }
.game-nav-tiberium:hover { color: #9f9 !important; }

.game-nav-generals { color: #fc6 !important; }
.game-nav-generals:hover { color: #fe9 !important; }

.game-nav .dropdown-toggle::after {
  vertical-align: middle;
}

.game-nav-redalert.dropdown-toggle::after {
  border-top-color: #f44;
}

.game-nav-generals.dropdown-toggle::after {
  border-top-color: #fc6;
}

.game-nav .dropdown-menu {
  border: 1px solid var(--cnc-bg-dark);
  min-width: 8rem;
  padding: 0.25rem;
}

.game-nav .dropdown-item {
  color: var(--cnc-accent-blue-text);
  font-size: 1.1rem;
  padding: 0.25rem 0.75rem;
}

.game-nav .dropdown-item:hover {
  background-color: var(--cnc-accent-blue);
  color: var(--cnc-text-light);
}

/* ============================================
   User Navigation (Login/Logout)
   ============================================ */

.user-nav {
  padding: 0 0.75rem 0 0;
  white-space: nowrap;
  font-size: 1rem;
  color: var(--cnc-text-light);
  margin: auto 0;
}

.user-nav a,
.user-nav a:visited {
  color: var(--cnc-link-green);
  text-decoration: none;
}

.user-nav a:hover {
  color: var(--cnc-link-green);
  text-decoration: underline;
}

.user-nav-separator {
  margin: 0 0.25rem;
  font-size: 1.3rem;
  vertical-align: middle;
}

.user-nav-link {
  color: var(--cnc-link-green) !important;
  text-decoration: none;
  font-size: inherit;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

.user-nav-link:hover {
  text-decoration: underline;
}

/* ============================================
   Sub-Navigation Bar
   ============================================ */

.subnav {
  background: linear-gradient(180deg, #7a9ab3 0%, #9ab4c8 20%, #bccfdb 45%, #c0d2de 55%, #b8ccd8 65%, #a8c0d0 80%, #aec5d4 100%);
  margin-top: -0.5rem;
  padding: 0.85rem 1.125rem 0.25rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}

.subnav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  column-gap: 2rem;
}

.subnav a,
.subnav a:visited {
  color: var(--cnc-accent-blue-text);
  text-decoration: none;
  font-size: 1.4rem;
  font-family: 'Russel Square', sans-serif;
}

.subnav a:hover {
  text-decoration: underline;
}

/* ============================================
   Mobile Navigation
   ============================================ */

.mobile-nav-section {
  background: linear-gradient(180deg, #0a2a5c 0%, #0e3d7c 100%);
  padding: 0.75rem 1rem 0.5rem;
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.mobile-nav-section .game-nav {
  background: none;
  height: auto;
  margin-bottom: 0.5rem;
}

.mobile-nav-section .game-nav > ul {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  padding: 0;
  justify-content: flex-start;
}

.mobile-nav-section .game-nav a {
  font-size: 1.1rem;
}

.mobile-nav-section .user-nav {
  font-size: 0.9rem;
  white-space: normal;
  padding: 0.25rem 0 0;
  border-top: 1px solid rgba(153, 204, 255, 0.2);
}

@media (max-width: 767.98px) {
  #siteNavContent {
    margin-top: -0.75rem;
  }

  .mobile-nav-section {
    padding-top: 1.25rem;
  }

  .subnav {
    background: linear-gradient(180deg, #0e3d7c 0%, #1a5a9e calc(100% - 1rem), #3a6a9e calc(100% - 0.25rem), #aec5d4 100%);
    margin-top: -0.75rem;
    padding: 0.5rem 1rem 0.75rem;
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
  }

  .subnav ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.25rem;
  }

  .subnav a,
  .subnav a:visited {
    color: var(--cnc-link-green);
    font-size: 1.1rem;
    padding: 0.4rem 0.5rem;
    display: block;
    border-radius: 0.25rem;
  }

  .subnav a:hover {
    background: rgba(255, 255, 255, 0.1);
  }

  .subnav a::before {
    content: '';
    display: inline-block;
    width: 2px;
    height: 0.9em;
    background-color: var(--cnc-link-green);
    margin-right: 0.5rem;
    vertical-align: middle;
  }
}

/* ============================================
   Main Content Area
   ============================================ */

main {
  background-color: transparent;
  padding: 10px;
  min-height: 400px;
  color: var(--cnc-text-light);
}

/* Content Pages */

.content-page pre:has(> code) {
    width: 50em;
    max-width: 100%;
    border: 1px solid #ddd;
    background-color: #000;
    color: #ddd;
    margin: 1em 5%;
    padding: 5px;
    overflow-x: auto;
}

.content-page .mod-block {
    clear: both;
}

.content-page .mod-block hr {
    width: 50%;
    height: 1px;
    clear: both;
    text-align: center;
    color: var(--cnc-accent-blue);
    margin: 2em auto 3em;
}

.content-page .mod-block h4 {
    margin-bottom: 0.5em;
}

.content-page .mod-block img.logo,
.content-page .mod-block img.mod-logo {
    float: right;
    border: 2px dotted var(--cnc-accent-blue);
    margin: 5px;
}

@media (max-width: 767.98px) {
    .content-page pre:has(> code) {
        width: auto;
        margin: 1em 0;
    }
}

/* ============================================
   Buttons
   ============================================ */

.btn-primary {
  --bs-btn-bg: var(--cnc-accent-blue);
  --bs-btn-border-color: var(--cnc-link-blue);
  --bs-btn-color: white;
  --bs-btn-hover-bg: var(--cnc-accent-blue-dark);
  --bs-btn-hover-border-color: var(--cnc-link-blue-visited);
  --bs-btn-hover-color: white;
  font-weight: normal;
}

.btn-outline-primary {
  --bs-btn-border-color: var(--cnc-link-blue);
  --bs-btn-color: var(--cnc-link-blue);
  --bs-btn-hover-bg: var(--cnc-accent-blue);
  --bs-btn-hover-border-color: var(--cnc-link-blue);
  --bs-btn-hover-color: white;
}

.btn-info {
  --bs-btn-bg: #1a5090;
  --bs-btn-border-color: #1a5090;
  --bs-btn-color: white;
  --bs-btn-hover-bg: #154d8e;
  --bs-btn-hover-border-color: #154d8e;
  --bs-btn-hover-color: white;
}

.btn-link {
  color: var(--cnc-link-blue);
}

.btn-link:hover {
  color: var(--cnc-link-green);
}

/* ============================================
   Cards
   ============================================ */

.card {
  background-color: #0a2850;
  border: 1px solid #1a5090;
  color: var(--cnc-text-light);
  margin-bottom: 1rem;
}

.card-header {
  background: linear-gradient(180deg, #1a5090 0%, #0e3870 100%);
  border-bottom: 1px solid #1a5090;
  color: var(--cnc-text-light);
  font-weight: bold;
}

.card-body {
  padding: 1rem;
}

.card-title {
  color: var(--cnc-text-light);
  font-weight: bold;
}

.card-text {
  color: var(--cnc-text-light);
}

.list-group-item {
  background-color: rgba(10, 40, 80, 0.5);
  color: var(--cnc-text-light);
  border-color: rgba(20, 70, 130, 0.6);
}

.card a:not(.btn):not(.dropdown-item),
.card a:visited:not(.btn):not(.dropdown-item) {
  color: var(--cnc-link-blue-light);
}

.list-group-item-action {
  color: var(--cnc-text-light);
}

.list-group-item-action:hover,
.list-group-item-action:focus,
.list-group-item-action:active {
  background-color: rgba(20, 70, 130, 0.4);
  color: var(--cnc-text-light);
}

.card-footer {
  background-color: inherit;
  border-top-color: rgba(20, 70, 130, 0.6);
}

.card hr {
  border-color: rgba(20, 70, 130, 0.6);
  opacity: 1;
}

.card-subtitle.text-body-secondary {
  color: var(--cnc-accent-blue-gray) !important;
}

.card .text-secondary {
  color: var(--cnc-accent-blue-gray) !important;
}

.card .btn-outline-secondary {
  --bs-btn-color: var(--cnc-accent-blue-gray);
  --bs-btn-border-color: var(--cnc-accent-blue-gray);
  --bs-btn-hover-bg: var(--cnc-accent-blue-gray);
  --bs-btn-hover-color: var(--cnc-accent-blue-text);
}

.bg-light-subtle {
  background-color: #0e3060 !important;
  border-color: #1a5090;
  color: var(--cnc-text-light);
}

.bg-light-subtle a,
.bg-light-subtle .nav-link,
.bg-light-subtle .btn-link {
  color: var(--cnc-link-blue-light) !important;
}

.bg-light-subtle a:hover,
.bg-light-subtle .nav-link:hover,
.bg-light-subtle .btn-link:hover {
  color: var(--cnc-link-green) !important;
}

.badge.bg-light-subtl,
.badge.text-light-emphasis {
  background-color: rgba(15, 50, 100, 0.7) !important;
  color: var(--cnc-accent-blue-gray) !important;
  border: 1px solid rgba(20, 70, 130, 0.5);
}

.text-body-secondary {
  color: var(--cnc-accent-blue-gray) !important;
}

/* ============================================
   YAF Forum Styles
   ============================================ */

.yafnet .btn-link {
  color: var(--cnc-link-blue-light);
  text-decoration: none;
}

.yafnet .btn-link:hover {
  color: var(--cnc-link-green);
}


.yafnet .list-group {
    --bs-list-group-bg: rgba(10, 40, 80, 0.5);
    --bs-list-group-color: var(--cnc-text-light);
    --bs-list-group-border-color: rgba(20, 70, 130, 0.6);
    --bs-list-group-action-hover-bg: rgba(20, 70, 130, 0.4);
    --bs-list-group-action-hover-color: var(--cnc-text-light);
    --bs-list-group-action-active-bg: rgba(20, 70, 130, 0.6);
    --bs-list-group-action-active-color: var(--cnc-text-light);
    --bs-list-group-action-color: var(--cnc-text-light);
}

/* --------------------------------------------
   YAF Forum Navigation
   -------------------------------------------- */

.yafnet .navbar.bg-dark {
  background: linear-gradient(180deg, #154d8e 0%, #0a2040 100%) !important;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.yafnet header .navbar-brand {
  color: var(--cnc-text-light) !important;
  font-family: 'Russel Square', sans-serif;
}

.yafnet .navbar button,
.yafnet .navbar a {
  color: var(--cnc-link-blue-light) !important;
}

.yafnet .navbar .navbar-toggler {
  --bs-navbar-toggler-border-color: rgba(153, 204, 255, 0.4);
}

.yafnet .navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(153, 204, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.yafnet .navbar button:hover,
.yafnet .navbar a:hover {
  color: var(--cnc-link-green) !important;
}

.yafnet .navbar .dropdown-menu {
  --bs-dropdown-bg: #0e3060;
  --bs-dropdown-link-color: var(--cnc-link-blue-light);
  --bs-dropdown-link-hover-bg: #1a5090;
  border-color: #1a5090;
}

/* ============================================
   Popovers & Tooltips
   ============================================ */

.popover {
  --bs-popover-bg: #0e3060;
  --bs-popover-border-color: #1a5090;
  --bs-popover-body-color: var(--cnc-text-light);
  --bs-popover-header-bg: #1a5090;
  --bs-popover-header-color: var(--cnc-text-light);
}

.tooltip {
  --bs-tooltip-bg: #0e3060;
  --bs-tooltip-color: var(--cnc-text-light);
}

/* ============================================
   Tables
   ============================================ */

.table {
  color: var(--cnc-text-light);
  border-color: var(--cnc-link-blue);
}

.table thead th {
  background-color: var(--cnc-accent-blue);
  color: var(--cnc-text-light);
  border-color: var(--cnc-link-blue);
  font-weight: bold;
  text-align: center;
}

.table tbody td {
  border-color: var(--cnc-link-blue);
  padding: 4px;
}

.table thead th a,
.table thead th a:visited {
  color: inherit;
}

.table thead th a:hover {
  color: var(--cnc-link-green);
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 55, 114, 0.3);
}


/* ============================================
   Forms
   ============================================ */

.form-label {
  color: var(--cnc-text-light);
  font-weight: bold;
}

.yafnet .form-label {
  color: inherit;
  font-weight: inherit;
}

.form-control,
.form-select {
  background-color: #fff;
  border: 1px solid var(--cnc-link-blue);
  color: #000;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--cnc-link-blue-visited);
  box-shadow: 0 0 0 0.2rem rgba(102, 153, 255, 0.25);
}

.form-floating label {
  color: #666;
}

.form-check-label {
  color: var(--cnc-text-light);
}

/* ============================================
   Alerts & Badges
   ============================================ */

.alert {
  border-radius: 4px;
}

.alert-info {
  background-color: var(--cnc-accent-blue-dark);
  border-color: var(--cnc-link-blue);
  color: var(--cnc-text-light);
}

.alert-success {
  background-color: #2d5016;
  border-color: var(--cnc-link-green);
  color: var(--cnc-text-light);
}

.alert-danger {
  background-color: #8b0000;
  border-color: #ff6666;
  color: var(--cnc-text-light);
}

.badge {
  font-weight: 600;
  padding: 0.35em 0.65em;
}

/* ============================================
   Footer
   ============================================ */

.footer {
  background-color: transparent;
  color: var(--cnc-text-light);
  padding: 1.5rem 0;
  border-top: 1px solid var(--cnc-link-blue);
  text-align: center;
  margin-top: 2rem;
}

.footer a {
  color: var(--cnc-link-blue);
  text-decoration: none;
}

.footer a:hover {
  color: var(--cnc-link-green);
  text-decoration: underline;
}

/* ============================================
   Right Navigation Panel (Legacy Style)
   ============================================ */

.right-nav {
  float: right;
  width: 250px;
  background-color: var(--cnc-accent-blue);
  border: 1px solid var(--cnc-link-blue);
  font-size: smaller;
  margin: 10px 0 10px 10px;
  padding: 5px 5px 15px;
}

.right-nav h4 {
  border-bottom: 1px solid var(--cnc-link-blue);
  margin-bottom: 0.3em;
  color: var(--cnc-text-light);
}

.right-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.right-nav ul li ul {
  padding-left: 20px;
  list-style-type: disc;
  margin: 0;
}

.right-nav a,
.right-nav a:visited {
  color: var(--cnc-text-light);
  text-decoration: none;
}

.right-nav a:hover {
  color: var(--cnc-link-green);
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .right-nav {
    float: none;
    width: 100%;
    margin: 10px 0;
  }
}

/* ============================================
   Error Messages
   ============================================ */

.error-message,
.text-danger {
  color: #fc0 !important;
  font-weight: bold;
}

.field-validation-error {
  color: #fc0;
}

.validation-summary-errors {
  color: #fc0;
  font-weight: bold;
}

/* ============================================
   Utility Classes
   ============================================ */

.centered {
  text-align: center;
}

.centered-block {
  margin-left: auto;
  margin-right: auto;
}

.text-cnc-blue {
  color: var(--cnc-link-blue) !important;
}

.text-cnc-green {
  color: var(--cnc-link-green) !important;
}

.bg-cnc-dark {
  background-color: var(--cnc-bg-dark) !important;
}

.bg-cnc-blue {
  background-color: var(--cnc-accent-blue) !important;
}

.Content_RightFloat {
    float: right;
    clear: right;
}

.Content_LeftFloat {
    float: left;
    clear: left;
}

img.Content_RightFloat,
img.Content_LeftFloat {
    border: 0;
    margin: 5px;
}

img.dashed-border,
.dashed-border {
    border: 1px dotted var(--cnc-accent-blue);
}

/* ============================================
   Responsive Utilities
   ============================================ */

.container {
  max-width: 1140px;
}

@media (min-width: 768px) {
  .container {
    padding-inline: 2rem;
  }
}

@media (max-width: 767.98px) {
    .Content_RightFloat,
    .Content_LeftFloat {
        float: none;
        clear: both;
        margin: 10px auto;
        display: block;
    }

    img.Content_RightFloat,
    img.Content_LeftFloat {
        max-width: 100%;
        height: auto;
    }
}

@media (max-width: 575.98px) {
  .table {
    font-size: 0.9em;
  }
}

/* ============================================
   Breadcrumbs
   ============================================ */

.breadcrumb {
    --bs-breadcrumb-item-active-color: var(--cnc-text-light);
    --bs-breadcrumb-divider-color: var(--cnc-accent-blue-gray);
}

/* ============================================
   Pagination
   ============================================ */

.pagination {
    --bs-pagination-bg: var(--cnc-accent-blue-gray);
    --bs-pagination-color: var(--cnc-accent-blue-text);
    --bs-pagination-border-color: var(--cnc-bg-dark);
    --bs-pagination-hover-bg: var(--cnc-accent-blue);
    --bs-pagination-hover-color: var(--cnc-text-light);
    --bs-pagination-hover-border-color: var(--cnc-bg-dark);
    --bs-pagination-active-bg: var(--cnc-accent-blue);
    --bs-pagination-active-color: var(--cnc-text-light);
    --bs-pagination-active-border-color: var(--cnc-bg-dark);
    --bs-pagination-disabled-bg: #8eaabb;
    --bs-pagination-disabled-color: var(--cnc-accent-blue);
    --bs-pagination-disabled-border-color: var(--cnc-bg-dark);
    --bs-pagination-focus-bg: var(--cnc-accent-blue);
    --bs-pagination-focus-color: var(--cnc-text-light);
}

.pagination .page-link,
.pagination .page-link:visited {
    color: var(--cnc-accent-blue-text);
}

.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover {
    color: var(--cnc-text-light);
}

/* ============================================
   News
   ============================================ */

.news-item {
    border: 1px solid var(--cnc-separator);
    border-radius: var(--bs-border-radius);
}

.news-item .news-header a {
    text-decoration: none;
}

.news-item .news-header a:hover {
    text-decoration: underline;
}

.news-item .news-header small {
    color: var(--cnc-accent-blue-gray);
}

.news-item .last-edit {
    color: var(--cnc-accent-blue-gray);
    font-size: .875em;
}

.news-date-group {
    color: var(--cnc-text-light);
    text-align: center;
}

.news-archive a {
    text-decoration: none;
}

.news-archive .year-header a:hover {
    text-decoration: underline;
}

.news-archive .year-header a,
.news-archive .year-header a:visited {
    color: var(--cnc-text-light);
}

.news-archive .year-header {
    background-color: var(--cnc-accent-blue-dark);
    border-radius: var(--bs-border-radius);
}

.news-list-inline .news-item {
    border: none;
}

.news-body {
    margin: 10px 20px 2.5em;
}

.news-body blockquote {
    color: #ddd;
    margin: 1em 3em;
}

.news-last-edit {
    font-style: italic;
    font-size: smaller;
    text-align: right;
    color: #fc6;
}

.news-separator,
hr.CenteredSeparator {
    width: 50%;
    border: 0;
    border-top: 1px solid var(--cnc-separator);
    clear: both;
    margin: 1.5em auto;
    opacity: 1;
}

/* ============================================
   Ads
   ============================================ */

.ad-footer {
    text-align: center;
    clear: both;
    padding-top: 1em;
    margin: 1em 0;
}

@media (max-width: 767.98px) {
    .ad-footer {
        display: none;
    }
}

/* ============================================
   Downloads
   ============================================ */

.download-list-thumbnail {
    max-width: 128px;
    height: auto;
    border: 1px solid rgba(20, 70, 130, 0.4);
}

@media (max-width: 575.98px) {
    .download-list-row {
        flex-wrap: wrap;
    }

    .download-list-row > .ms-3.text-nowrap {
        margin-left: 0 !important;
        margin-top: 0.5rem;
        width: 100%;
    }

    .download-list-thumbnail {
        max-width: 64px;
    }
}

.download-detail-image {
    display: block;
    max-height: 400px;
    max-width: 100%;
}

.star-rating i {
    cursor: pointer;
}

/* ============================================
   Latest Maps Widget
   ============================================ */

.latest-maps-widget {
    padding: 0 1rem 1rem;
}

.latest-maps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .latest-maps-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.latest-maps-game {
    min-width: 0;
}

.latest-maps-game:not(:last-child) {
    border-bottom: 1px solid var(--cnc-separator);
    padding-bottom: 0.75rem;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .latest-maps-game:not(:last-child) {
        border-bottom: none;
        padding-bottom: 0;
    }
}

.latest-maps-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

