/* =============================================================================
   lp_dark — template.css
   Liquid Purple © 2026
   ============================================================================= */

/* ── CSS Custom Properties ────────────────────────────────────────────────── */
:root {
  --lp-bg:           #111318;
  --lp-bg-surface:   #1c1f26;
  --lp-bg-card:      #22262f;
  --lp-bg-nav:       #0d0f13;
  --lp-border:       #2e3340;
  --lp-text:         #d6d9e0;
  --lp-text-muted:   #aaaaaa;
  --lp-heading:      #eaedf2;
  --lp-accent:       #eba74a;
  --lp-accent-hover: #e2b836;
  --lp-link:         #eba74a;
  --lp-link-hover:   #e2b836;
  --lp-danger:       #e05252;
  --lp-success:      #52c07a;
  --lp-radius:       .375rem;
  --lp-font:         'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ── Base ─────────────────────────────────────────────────────────────────── */

/* Template root dark-mode scope */
html[data-bs-theme="dark"] {
  color-scheme: dark;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background-color: var(--lp-bg);
  color:            var(--lp-text);
  font-family:      var(--lp-font);
  font-size:        1rem;
  line-height:      1.65;
  margin:           0;
}

h1, h2, h3, h4, h5, h6 {
  color:       var(--lp-heading);
  font-weight: 600;
  line-height: 1.3;
}

a {
  color:           var(--lp-link);
  text-decoration: none;
}
a:hover, a:focus {
  color:           #ffffff;
  text-decoration: none;
}

img { max-width: 100%; height: auto; }

hr {
  border-color: var(--lp-border);
  opacity: 1;
}

/* ── Navbar ───────────────────────────────────────────────────────────────── */

#lp-header {
  position: sticky;
  top: 0;
  z-index: 1080;
}
#lp-navbar {
  position:         sticky;
  top:              0;
  width:            100%;
  z-index:          1080;
  min-height:       3.5rem;
  --bs-navbar-padding-y: 0;
  --bs-navbar-padding-x: 0;
  padding:          0 20px;
  text-align:       left;
  background:       linear-gradient(90deg,
                    rgba(0, 0, 0, .95) 0%,
                    rgba(0, 0, 0, .55) 50%,
                    rgba(0, 0, 0, .95) 100%);
  border-top:       1px solid rgba(255, 255, 255, 0.08);
  border-bottom:    1px solid rgba(0, 0, 0, 0.30);
  box-shadow:       0 4px 10px rgba(0, 0, 0, 0.6);
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
  -moz-box-shadow:  0 4px 10px rgba(0,0,0,.6);
}

#lp-navbar .navbar-brand,
#lp-navbar .navbar-brand a {
  color:       var(--lp-heading);
  font-weight: 700;
  font-size:   1.25rem;
}
#lp-navbar .navbar-brand:hover,
#lp-navbar .navbar-brand a:hover {
  color: var(--lp-accent);
  text-decoration: none;
}

/* Joomla mod_menu renders a <ul>, wire it up as BS5 nav */
#lp-navbar .navbar-collapse > ul.nav,
#lp-navbar .navbar-collapse > ul {
  list-style:  none;
  margin:      0;
  padding:     0;
  display:     flex;
  flex-wrap:   wrap;
  gap:         .125rem;
}
#lp-navbar .navbar-collapse > ul.nav > li > a,
#lp-navbar .navbar-collapse > ul > li > a {
  color:       var(--lp-text);
  padding:     .5rem .85rem;
  display:     block;
  border-radius: var(--lp-radius);
  transition:  background-color .15s, color .15s;
}
#lp-navbar .navbar-collapse > ul.nav > li > a:hover,
#lp-navbar .navbar-collapse > ul > li > a:hover,
#lp-navbar .navbar-collapse > ul.nav > li.active > a,
#lp-navbar .navbar-collapse > ul > li.active > a,
#lp-navbar .navbar-collapse > ul.nav > li.current > a {
  background-color: rgba(201, 162, 39, .15);
  color:            var(--lp-accent);
  text-decoration:  none;
}

/* Dropdown menus */


/* Prevent right-edge submenu overflow/horizontal scroll */
#lp-navbar .navbar-nav > .nav-item:last-child > .dropdown-menu {
  right: 0;
  left: auto;
}
#lp-navbar .dropdown-menu {
  background-color: var(--lp-bg-surface);
  border:           1px solid var(--lp-border);
  border-radius:    var(--lp-radius);
  min-width:        12rem;
}
#lp-navbar .dropdown-item {
  color: var(--lp-text);
}
#lp-navbar .dropdown-item:hover {
  background-color: var(--lp-bg-card);
  color:            var(--lp-accent);
}

/* Toggler */
#lp-navbar .navbar-toggler {
  border-color: var(--lp-border);
}
#lp-navbar .navbar-toggler-icon {
  filter: invert(1);
}

/* ── Banner ───────────────────────────────────────────────────────────────── */
#lp-banner {
  background-color: var(--lp-bg-surface);
  border-bottom:    1px solid var(--lp-border);
  padding:          .75rem 0;
}

/* ── Main layout ──────────────────────────────────────────────────────────── */
#lp-main {
  min-height: calc(100vh - 3.5rem - 200px);
  padding-top: 1rem;
}

#lp-main,
#parallaxslice1,
#parallaxslice2,
#parallaxslice3,
#parallaxslice4,
#parallaxslice5,
#lp-parallax-1,
#lp-parallax-2,
#lp-parallax-3,
#lp-parallax-4,
#lp-parallax-5 {
  background-image: url('/templates/lp_dark/images/parallax-tile.jpg');
}

#home,
#lp-main,
#parallaxslice1,
#parallaxslice2,
#parallaxslice3,
#parallaxslice4,
#parallaxslice5,
#lp-parallax-1,
#lp-parallax-2,
#lp-parallax-3,
#lp-parallax-4,
#lp-parallax-5 {
  background-color: #134a66;
  background-attachment: fixed;
  background-position: 50% 0;
  width: 100%;
  background-repeat: repeat;
  padding: 35px;
  box-shadow: inset -4px 8px 15px 2px rgba(0, 0, 0, 0.6);
}

/* Breadcrumbs position styling parity with lp_bootstrap */
body #lp-breadcrumbs,
body section#breadcrumbs {
  color: #aaaaaa;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  padding: 15px 10px 15px 35px;
  background-color: #000000;
}

#lp-breadcrumbs .breadcrumb,
section#breadcrumbs .breadcrumb,
.breadcrumb {
  margin-bottom: 0;
}

#lp-breadcrumbs .breadcrumb a.pathway:hover,
#lp-breadcrumbs .breadcrumb a.pathway:focus,
section#breadcrumbs .breadcrumb a.pathway:hover,
section#breadcrumbs .breadcrumb a.pathway:focus {
  color: #ffffff;
  text-decoration: none;
}




#lp-breadcrumbs .breadcrumb,
section#breadcrumbs .breadcrumb {
  color: #aaaaaa;
}

#lp-breadcrumbs .breadcrumb li,
#lp-breadcrumbs .breadcrumb .showHere,
#lp-breadcrumbs .breadcrumb .active,
#lp-breadcrumbs .breadcrumb .divider,
section#breadcrumbs .breadcrumb li,
section#breadcrumbs .breadcrumb .showHere,
section#breadcrumbs .breadcrumb .active,
section#breadcrumbs .breadcrumb .divider {
  color: #aaaaaa;
}

/* ── Content area ─────────────────────────────────────────────────────────── */
#lp-content .article-info,
#lp-content .article-info-term {
  color:     var(--lp-text-muted);
  font-size: .85rem;
}

/* ── Sidebars ─────────────────────────────────────────────────────────────── */
#lp-sidebar-a,
#lp-sidebar-b {
  font-size: .9rem;
}

/* Module title in sidebars */
#lp-sidebar-a .module-title,
#lp-sidebar-b .module-title,
#lp-sidebar-a h3,
#lp-sidebar-b h3 {
  color:         var(--lp-heading);
  font-size:     1rem;
  font-weight:   600;
  padding-bottom: .4rem;
  margin-bottom:  .75rem;
  border-bottom:  2px solid var(--lp-accent);
}

/* ── Joomla system messages ───────────────────────────────────────────────── */
#system-message-container,
.alert {
  margin-bottom: 1rem;
}
.alert-message {
  background-color: var(--lp-bg-surface);
  border:           1px solid var(--lp-border);
  border-radius:    var(--lp-radius);
  padding:          .75rem 1rem;
  color:            var(--lp-text);
}
.alert-error   { border-left: 4px solid var(--lp-danger); }
.alert-success { border-left: 4px solid var(--lp-success); }
.alert-notice  { border-left: 4px solid var(--lp-accent); }

/* ── Pagination ───────────────────────────────────────────────────────────── */
.pagination .page-link {
  background-color: var(--lp-bg-card);
  border-color:     var(--lp-border);
  color:            var(--lp-text);
}
.pagination .page-link:hover {
  background-color: var(--lp-bg-surface);
  color:            var(--lp-accent);
}
.pagination .page-item.active .page-link {
  background-color: var(--lp-accent);
  border-color:     var(--lp-accent);
  color:            #000;
}
.pagination .page-item.disabled .page-link {
  background-color: var(--lp-bg);
  border-color:     var(--lp-border);
  color:            var(--lp-text-muted);
}

/* ── Tables ───────────────────────────────────────────────────────────────── */
table {
  color:            var(--lp-text);
  border-color:     var(--lp-border);
}
.table {
  --bs-table-bg:            var(--lp-bg-card);
  --bs-table-color:         var(--lp-text);
  --bs-table-border-color:  var(--lp-border);
  --bs-table-striped-bg:    var(--lp-bg-surface);
  --bs-table-hover-bg:      rgba(201, 162, 39, .07);
}
th {
  color:       var(--lp-heading);
  font-weight: 600;
  border-color: var(--lp-border) !important;
}

/* ── Forms ────────────────────────────────────────────────────────────────── */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
  background-color: var(--lp-bg-surface);
  border:           1px solid var(--lp-border);
  border-radius:    var(--lp-radius);
  color:            var(--lp-text);
}
.form-control:focus,
.form-select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
  background-color: var(--lp-bg-card);
  border-color:     var(--lp-accent);
  box-shadow:       0 0 0 .2rem rgba(201, 162, 39, .25);
  color:            var(--lp-heading);
  outline:          none;
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.btn-primary {
  background-color: var(--lp-accent);
  border-color:     var(--lp-accent);
  color:            #000;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--lp-accent-hover);
  border-color:     var(--lp-accent-hover);
  color:            #000;
}
.btn-outline-primary {
  border-color: var(--lp-accent);
  color:        var(--lp-accent);
}
.btn-outline-primary:hover {
  background-color: var(--lp-accent);
  color:            #000;
}

/* ── jDownloads component overrides ──────────────────────────────────────── */
.jdownloads-container,
.jdownloads-files-list,
.jdownloads-category-view {
  color: var(--lp-text);
}

.jdownloads-file-item,
.jdownloads_file_wrap {
  background-color: var(--lp-bg-card);
  border:           1px solid var(--lp-border);
  border-radius:    var(--lp-radius);
  padding:          1rem;
  margin-bottom:    1rem;
  transition:       border-color .2s;
}
.jdownloads-file-item:hover,
.jdownloads_file_wrap:hover {
  border-color: var(--lp-accent);
}

.jdownloads-file-title a {
  color:       var(--lp-heading);
  font-weight: 600;
}
.jdownloads-file-title a:hover {
  color: var(--lp-accent);
}

/* Download button */
a.jd_download_button,
.jdownloads-download-button a {
  display:          inline-block;
  background-color: var(--lp-accent);
  color:            #000 !important;
  padding:          .4rem 1rem;
  border-radius:    var(--lp-radius);
  font-weight:      600;
  transition:       background-color .15s;
}
a.jd_download_button:hover,
.jdownloads-download-button a:hover {
  background-color: var(--lp-accent-hover);
  text-decoration:  none;
}


/* Feature module styling parity with original lp_bootstrap */
#lp-feature,
#lp-main-bottom {
  padding: 0;
  color: #dddddd;
}

.lp-moduletable.recent,
.lp-moduletable.featured,
.lp-moduletable.top {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 20px;
}

.lp-moduletable.recent,
.lp-moduletable.featured,
.lp-moduletable.top {
  margin-bottom: 0;
}

.lp-moduletable.recent h3,
.lp-moduletable.featured h3,
.lp-moduletable.top h3 {
  text-align: left;
  padding: 0 0 15px 0;
  margin: 0;
  color: #eba74a;
  text-shadow: 8px 8px 8px rgba(0,0,0, .7);
}

#lp-feature .jd-itemtext a,
#lp-feature .jd-itemtext a:link,
#lp-feature .jd-itemtext a:visited,
#features .jd-itemtext a,
#features .jd-itemtext a:link,
#features .jd-itemtext a:visited {
  color: #eba74a;
  text-decoration: none;
}

#lp-feature .jd-itemtext a:hover,
#lp-feature .jd-itemtext a:focus,
#features .jd-itemtext a:hover,
#features .jd-itemtext a:focus {
  color: #ffffff;
  text-decoration: none !important;
}

#lp-feature .jd-catlink,
#features .jd-catlink {
  color: #cccccc;
}

#lp-feature .jd-catlink a,
#lp-feature .jd-catlink a:link,
#lp-feature .jd-catlink a:visited,
#lp-feature .jd-catlink a:hover,
#lp-feature .jd-catlink a:focus,
#features .jd-catlink a,
#features .jd-catlink a:link,
#features .jd-catlink a:visited,
#features .jd-catlink a:hover,
#features .jd-catlink a:focus {
  color: #cccccc;
  text-decoration: none !important;
}

#lp-feature .jd-catlink span,
#features .jd-catlink span {
  text-transform: capitalize;
}



/* Shared jDownloads card styling: Recent + Featured + Top modules */
.lp-moduletable.recent .jd-module,
.lp-moduletable.featured .jd-module,
.lp-moduletable.top .jd-module {
  padding-left: 15px;
  padding-right: 15px;
}

.lp-moduletable.recent .jd-module .jd-item,
.lp-moduletable.featured .jd-module .jd-item,
.lp-moduletable.top .jd-module .jd-item {
  margin-bottom: 20px;
}

.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail {
  padding: 0 10px;
  margin: 0;
}

.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor,
.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:link,
.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:visited,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:link,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:visited,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:link,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:visited {
  display: block;
  position: relative;
  overflow: hidden;
  color: #ddd;
  padding: 5px;
  border: 2px solid #eba74a;
}

.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover,
.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus {
  border-color: #e2b836;
}

.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover span.jd-linkspan,
.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus span.jd-linkspan,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover span.jd-linkspan,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus span.jd-linkspan,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover span.jd-linkspan,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus span.jd-linkspan {
  transform: scale(1.08);
}

.lp-moduletable.recent .jd-module .jd-item .jd-thumbnail a.jd-linkanchor span.jd-linkspan,
.lp-moduletable.featured .jd-module .jd-item .jd-thumbnail a.jd-linkanchor span.jd-linkspan,
.lp-moduletable.top .jd-module .jd-item .jd-thumbnail a.jd-linkanchor span.jd-linkspan {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 140px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform .35s ease;
  transform: scale(1);
  transform-origin: center center;
  box-shadow: 8px 4px 20px 10px rgba(0,0,0,.4);
}

.lp-moduletable.recent .jd-module .jd-itemtext a,
.lp-moduletable.recent .jd-module .jd-itemtext a:link,
.lp-moduletable.recent .jd-module .jd-itemtext a:visited,
.lp-moduletable.featured .jd-module .jd-itemtext a,
.lp-moduletable.featured .jd-module .jd-itemtext a:link,
.lp-moduletable.featured .jd-module .jd-itemtext a:visited,
.lp-moduletable.top .jd-module .jd-itemtext a,
.lp-moduletable.top .jd-module .jd-itemtext a:link,
.lp-moduletable.top .jd-module .jd-itemtext a:visited {
  color: #eba74a;
  text-decoration: none;
}

.lp-moduletable.recent .jd-module .jd-itemtext a:hover,
.lp-moduletable.recent .jd-module .jd-itemtext a:focus,
.lp-moduletable.featured .jd-module .jd-itemtext a:hover,
.lp-moduletable.featured .jd-module .jd-itemtext a:focus,
.lp-moduletable.top .jd-module .jd-itemtext a:hover,
.lp-moduletable.top .jd-module .jd-itemtext a:focus {
  color: #ffffff;
  text-decoration: none !important;
}

.lp-moduletable.recent .jd-module .jd-catlink,
.lp-moduletable.featured .jd-module .jd-catlink,
.lp-moduletable.recent .jd-module .jd-catlink a,
.lp-moduletable.recent .jd-module .jd-catlink a:link,
.lp-moduletable.recent .jd-module .jd-catlink a:visited,
.lp-moduletable.recent .jd-module .jd-catlink a:hover,
.lp-moduletable.recent .jd-module .jd-catlink a:focus,
.lp-moduletable.featured .jd-module .jd-catlink a,
.lp-moduletable.featured .jd-module .jd-catlink a:link,
.lp-moduletable.featured .jd-module .jd-catlink a:visited,
.lp-moduletable.featured .jd-module .jd-catlink a:hover,
.lp-moduletable.featured .jd-module .jd-catlink a:focus,
.lp-moduletable.top .jd-module .jd-catlink,
.lp-moduletable.top .jd-module .jd-catlink a,
.lp-moduletable.top .jd-module .jd-catlink a:link,
.lp-moduletable.top .jd-module .jd-catlink a:visited,
.lp-moduletable.top .jd-module .jd-catlink a:hover,
.lp-moduletable.top .jd-module .jd-catlink a:focus {
  color: #aaaaaa;
  text-decoration: none !important;
}


/* jDownloads latest module thumbnail rendering (ported from lp_bootstrap essentials) */
#lp-feature .jd-module.container-fluid,
#features .jd-module.container-fluid {
  padding-left: 15px;
  padding-right: 15px;
}

#lp-feature .jd-module .jd-item,
#features .jd-module .jd-item {
  margin-bottom: 20px;
}

#lp-feature .jd-module .jd-item .jd-thumbnail,
#features .jd-module .jd-item .jd-thumbnail {
  padding: 0 10px;
  margin: 0;
}

#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor,
#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:link,
#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:visited,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:link,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:visited {
  display: block;
  position: relative;
  overflow: hidden;
  color: #ddd;
  padding: 5px;
  border: 2px solid #eba74a;
}

#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover,
#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus {
  border-color: #e2b836;
}

#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover span.jd-linkspan,
#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus span.jd-linkspan,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover span.jd-linkspan,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus span.jd-linkspan {
  transform: scale(1.08);
}

#lp-feature .jd-module .jd-item .jd-thumbnail a.jd-linkanchor span.jd-linkspan,
#features .jd-module .jd-item .jd-thumbnail a.jd-linkanchor span.jd-linkspan {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 140px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform .35s ease;
  transform: scale(1);
  transform-origin: center center;
  box-shadow: 8px 4px 20px 10px rgba(0,0,0,.4);
}


/* jDownloads top module thumbnail rendering (utility position) */
#lp-utility .jd-module.container-fluid {
  padding-left: 15px;
  padding-right: 15px;
}

#lp-utility .jd-module .jd-item {
  margin-bottom: 20px;
}

#lp-utility .jd-module .jd-item .jd-thumbnail {
  padding: 0 10px;
  margin: 0;
}

#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor,
#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:link,
#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:visited {
  display: block;
  position: relative;
  overflow: hidden;
  color: #ddd;
  padding: 5px;
  border: 2px solid #eba74a;
}

#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover,
#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus {
  border-color: #e2b836;
}

#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:hover span.jd-linkspan,
#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor:focus span.jd-linkspan {
  transform: scale(1.08);
}

#lp-utility .jd-module .jd-item .jd-thumbnail a.jd-linkanchor span.jd-linkspan {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 140px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform .35s ease;
  transform: scale(1);
  transform-origin: center center;
  box-shadow: 8px 4px 20px 10px rgba(0,0,0,.4);
}

#lp-utility .jd-module .jd-itemtext a,
#lp-utility .jd-module .jd-itemtext a:link,
#lp-utility .jd-module .jd-itemtext a:visited {
  color: #eba74a;
  text-decoration: none;
}

#lp-utility .jd-module .jd-itemtext a:hover,
#lp-utility .jd-module .jd-itemtext a:focus {
  color: #ffffff;
  text-decoration: none !important;
}

#lp-utility .jd-module .jd-catlink,
#lp-utility .jd-module .jd-catlink a,
#lp-utility .jd-module .jd-catlink a:link,
#lp-utility .jd-module .jd-catlink a:visited,
#lp-utility .jd-module .jd-catlink a:hover,
#lp-utility .jd-module .jd-catlink a:focus {
  color: #aaaaaa;
  text-decoration: none !important;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
#lp-footer {
  background-color: var(--lp-bg-nav);
  border-top:       1px solid var(--lp-border);
  color:            var(--lp-text-muted);
  font-size:        .875rem;
}

#lp-footer #footerLogo {
  float: left;
  display: block;
  margin: 0 15px 8px 0;
}

#lp-footer a {
  color: #eba74a;
}
#lp-footer a:hover,
#lp-footer a:focus {
  color: #ffffff;
}

#lp-footer p {
  margin-bottom: 0;
}


#lp-footer-cols h3,
#lp-footer-cols h4,
#lp-footer-cols .module-title {
  color:         var(--lp-heading);
  font-size:     .95rem;
  font-weight:   600;
  margin-bottom: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

#lp-copyright {
  border-top:  1px solid var(--lp-border);
  text-align:  center;
  font-size:   .8rem;
  color:       var(--lp-text-muted);
  padding:     .6rem 0;
}

#lp-copyright .navbar-nav,
#lp-expanded-bottom .navbar-nav {
  padding: 0px 25px 0px 25px;
  margin: 15px auto 30px auto;
  display: inline-block;
  border-bottom-color: #eba74a;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-top-color: #eba74a;
  border-top-style: solid;
  border-top-width: 1px;
  list-style: none;
}

#lp-copyright .navbar-nav .nav-item,
#lp-expanded-bottom .navbar-nav .nav-item {
  display: inline-flex;
  align-items: center;
}

#lp-copyright .navbar-nav .nav-item + .nav-item::before,
#lp-expanded-bottom .navbar-nav .nav-item + .nav-item::before {
  content: "|";
  color: rgba(235, 167, 74, 0.9);
  margin: 0 .65rem;
}

#lp-copyright .navbar-nav .nav-link,
#lp-expanded-bottom .navbar-nav .nav-link {
  padding: 5px 10px 6px 10px;
  font-weight: 400;
  letter-spacing: .05em;
  display: block;
  font-size: 15px;
  line-height: 15px;
}

#lp-copyright .navbar-nav .nav-link:hover,
#lp-copyright .navbar-nav .nav-link:focus,
#lp-expanded-bottom .navbar-nav .nav-link:hover,
#lp-expanded-bottom .navbar-nav .nav-link:focus {
  color: #ffffff;
}

#lp-copyright .copyright {
  padding: 10px 20px;
}

#lp-copyright .ad-cookie {
  padding: 10px 15px;
}


/* ── BS5 overrides (dark context) ─────────────────────────────────────────── */
.card {
  background-color: var(--lp-bg-card);
  border-color:     var(--lp-border);
  color:            var(--lp-text);
}

.badge {
  font-size: .75em;
}
.badge.bg-secondary {
  background-color: var(--lp-bg-surface) !important;
  color:            var(--lp-text-muted);
}

/* ── Utility helpers ──────────────────────────────────────────────────────── */
.text-accent   { color: var(--lp-accent) !important; }
.bg-surface    { background-color: var(--lp-bg-surface) !important; }
.border-accent { border-color: var(--lp-accent) !important; }

/* ── Responsive tweaks ────────────────────────────────────────────────────── */
@media (max-width: 991.98px) {
  #lp-navbar .navbar-collapse > ul {
    flex-direction: column;
    padding: .5rem 0;
  }
  #lp-navbar .navbar-collapse > ul.nav > li > a,
  #lp-navbar .navbar-collapse > ul > li > a {
    padding: .6rem 1rem;
    border-radius: 0;
  }
}

/* ── Logo module (mod_flexi_customcode, rt-block logo-block) ──────────────── */
#lp-navbar .navbar-brand-wrap {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

#lp-navbar .logo-block {
  display:     flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap:         .15rem;
  margin:      0;
  padding:     0;
  line-height: 1;
}

#lp-navbar a#rt-logo {
  width:               200px;
  height:              50px;
  background:          url(../images/logo.png) 0 0 no-repeat;
  background-size:     contain;
  display:             block;
  flex-shrink:         0;
  text-decoration:     none;
}

#lp-navbar h2#logo-text {
  margin:      -10px 0 0 10px;
  width:       200px;
  max-width:   200px;
  text-align:  center;
  font-size:   .8rem;
  line-height: 1.15;
  color:       var(--lp-heading);
  white-space: nowrap;
  overflow:    hidden;
  text-overflow: ellipsis;
}

/* ── Navbar nav-link / dropdown (BS5 override) ────────────────────────────── */

/* Nav items — height + centred text matching lp_bootstrap */
#lp-navbar .navbar-nav .nav-link {
  display:       block;
  height:        75px;
  padding:       4px 15px 0;
  text-align:    center;
  color:         #eee;
  vertical-align: middle;
  transition:    background-color .2s ease-out, color .2s ease-out;
  border-radius: 0;
  line-height:   1.2;
  position:      relative;
}

#lp-navbar .navbar-nav .nav-link.dropdown-toggle {
  padding-right: 26px;
}

/* Active item — gold fill */
#lp-navbar .navbar-nav .nav-item.active > .nav-link,
#lp-navbar .navbar-nav .nav-link.active {
  background:
    linear-gradient(rgba(0, 0, 0, .22), rgba(0, 0, 0, .22)),
    var(--lp-accent);
  color:      #000 !important;
}

#lp-navbar .navbar-nav .nav-item.active > .nav-link:hover,
#lp-navbar .navbar-nav .nav-item.active > .nav-link:focus,
#lp-navbar .navbar-nav .nav-link.active:hover,
#lp-navbar .navbar-nav .nav-link.active:focus {
  background: var(--lp-accent);
  color:      #000 !important;
}

/* Hover / focus */
#lp-navbar .navbar-nav .nav-link:hover,
#lp-navbar .navbar-nav .nav-link:focus {
  background: var(--lp-accent);
  color:      #fff !important;
  text-decoration: none;
}



/* Small black submenu caret aligned at subtitle row end */
#lp-navbar .navbar-nav .dropdown-toggle::after {
  border-top:    .3em solid #000;
  border-right:  .3em solid transparent;
  border-left:   .3em solid transparent;
  border-bottom: 0;
  margin-left:   0;
  position:      absolute;
  right:         10px;
  bottom:        11px;
  vertical-align: 0;
}


/* Dropdown menu — dark semi-transparent */
#lp-navbar .dropdown-menu {
  background:   rgba(0, 0, 0, .88);
  border:       1px solid rgba(255, 255, 255, .08);
  border-radius: 0 0 var(--lp-radius) var(--lp-radius);
  padding:      5px 5px 5px 15px;
  min-width:    12rem;
}

/* Dropdown items — gold text */
#lp-navbar .dropdown-item {
  color:      var(--lp-accent);
  padding:    .4rem .75rem;
  background: transparent;
}
#lp-navbar .dropdown-item:hover,
#lp-navbar .dropdown-item:focus {
  background: transparent;
  color:      #fff;
}
#lp-navbar .dropdown-item.active {
  background: rgba(0, 0, 0, .35);
  color:      #fff;
  font-weight: 600;
}
#lp-navbar .dropdown-item.active:hover,
#lp-navbar .dropdown-item.active:focus {
  background: transparent;
  color:      #fff;
}

/* Open first-level submenus on hover (desktop) */
@media (min-width: 992px) {
  #lp-navbar .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Menu item title/subtitle split — JS adds .lp-nav-title / .lp-nav-sub */
#lp-navbar .nav-link .lp-nav-title {
  display:     block;
  font-size:   .85rem;
  font-weight: 600;
  line-height: 1.2;
  margin-top:  6px;
}
#lp-navbar .nav-link .lp-nav-sub {
  display:     block;
  font-size:   .65rem;
  font-weight: 400;
  opacity:     .8;
  line-height: 1.2;
}

/* ===== LP_DARK top section parity overrides (2026-06-14) ===== */
/* Keep major top strips unboxed (global .moduletable is too broad for these) */
#lp-cta .moduletable,
#lp-cta .lp-moduletable,
#lp-showcase .moduletable,
#lp-showcase .lp-moduletable,
#lp-showcase .moduletable > *,
#lp-showcase .lp-moduletable > * {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

/* CTA strip (gold bar + outlined registration button) */
#lp-cta {
  padding: 10px 0;
  background-color: #eba74a;
  border: 2px solid rgba(0,0,0,.05);
  box-shadow: 0 4px 10px rgba(0,0,0,.6);
}

#lp-cta h2 {
  color: rgba(0,0,0,.85);
  font-size: 18px;
  line-height: 22px;
  font-weight: 500;
  margin: 0;
  letter-spacing: normal;
}

#lp-cta .btn,
#lp-cta .btn:link,
#lp-cta .btn:visited,
#cta .btn,
#cta .btn:link,
#cta .btn:visited {
  border: 2px solid rgba(0,0,0,.8);
  color: rgba(0,0,0,.85);
  background: transparent;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  font-size: 22px;
  line-height: 22px;
  padding: .55rem 1rem;
  white-space: normal;
}
#lp-cta .btn:hover,
#lp-cta .btn:focus,
#lp-cta .btn:active {
  border-color: rgba(0,0,0,1);
  color: #eba74a;
  background-color: rgba(0,0,0,.72);
  text-decoration: none;
}
#lp-cta .btn i.fa-solid,
#lp-cta .btn i.fa { margin-right: 10px; font-size: 26px; }

/* Showcase section visual framing */
#lp-showcase {
  background-image: url('/templates/lp_dark/images/parallax-tile.jpg');
  background-position: 50% 0;
  background-color: #134a66;
  background-repeat: repeat;
  box-shadow: inset 0 4px 10px -2px rgba(0,0,0,.6);
}
#lp-showcase #HomeSlideshow { min-height: 0; padding-bottom: 8px; }
#lp-showcase #HomeSlideshow .carousel-inner {
  min-height: 0;
}
#lp-showcase #HomeSlideshow .carousel-item {
  min-height: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
#lp-showcase .carousel-item { min-height: 0; }
#lp-showcase .carousel-item.active { display: flex; }
#lp-showcase .slidebox {
  margin: 18px auto 6px;
  width: 75%;
  max-width: 100%;
  padding: 10px 35px 15px;
  background-color: rgba(0,0,0,.42);
  border-radius: 15px;
}
#lp-showcase .slidebox h2 {
  margin: 0;
  text-align: left;
  color: #fff !important;
  text-shadow: 2px 2px #000;
  font-weight: 700;
  white-space: nowrap;
}
#lp-showcase .slidebox h3 {
  text-align: left;
  color: #ccc;
  margin: 10px 0 20px;
}
#lp-showcase .slidebox p {
  color: #fff;
  margin: 0;
  height: clamp(84px, 10vw, 120px);
  overflow: hidden;
}
#lp-showcase .carousel-control-prev,
#lp-showcase .carousel-control-next { width: 8%; }

/* Showcase controls: FA6, thicker white arrows, hover effect */
#lp-showcase .carousel-control-prev-icon,
#lp-showcase .carousel-control-next-icon {
  background-image: none;
  width: 2.0rem;
  height: 2.0rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0,0,0,.32);
  border: 1px solid rgba(255,255,255,.16);
}

#lp-showcase .carousel-control-prev-icon::before,
#lp-showcase .carousel-control-next-icon::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.8rem;
  line-height: 1;
  color: #fff;
  text-shadow: 0 3px 10px rgba(0,0,0,.9);
  transition: transform .2s ease, filter .2s ease, text-shadow .2s ease;
}

#lp-showcase .carousel-control-prev-icon::before { content: "\f0d9"; }
#lp-showcase .carousel-control-next-icon::before { content: "\f0da"; }

#lp-showcase .carousel-control-prev:hover .carousel-control-prev-icon::before,
#lp-showcase .carousel-control-next:hover .carousel-control-next-icon::before,
#lp-showcase .carousel-control-prev:focus .carousel-control-prev-icon::before,
#lp-showcase .carousel-control-next:focus .carousel-control-next-icon::before {
  transform: scale(1.12);
  filter: brightness(1.15);
  text-shadow: 0 0 14px rgba(255,255,255,.62), 0 3px 10px rgba(0,0,0,.9);
}

#lp-showcase .carousel-indicators {
  position: static;
  margin: 2px 0 10px;
  gap: .5rem;
  list-style: none;
  padding-left: 0;
}

/* Larger, more prominent slideshow indicators (supports li + bs5 button markup) */
#lp-showcase .carousel-indicators li,
#lp-showcase .carousel-indicators [data-bs-slide-to] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(45,45,45,.65);
  border: 1px solid rgba(120,120,120,.5);
  box-shadow: 0 1px 4px rgba(0,0,0,.65);
  opacity: 1;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease, border-color .2s ease;
  list-style: none;
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  overflow: hidden;
}

#lp-showcase .carousel-indicators li::marker {
  content: '';
}

#lp-showcase .carousel-indicators li.active,
#lp-showcase .carousel-indicators [data-bs-slide-to].active,
#lp-showcase .carousel-indicators [data-bs-slide-to][aria-current="true"] {
  background-color: rgba(170,170,170,.88);
  border-color: rgba(220,220,220,.7);
  transform: scale(1.2);
  box-shadow: 0 0 0 2px rgba(80,80,80,.55), 0 2px 8px rgba(0,0,0,.75);
}

@media (max-width: 1200px) {
  #lp-cta h2 { font-size: 18px; }
  #lp-cta .btn,
  #lp-cta .btn:link,
  #lp-cta .btn:visited { min-width: 0; width: 100%; font-size: 22px; }
  #lp-showcase .slidebox { width: 90%; }
  #lp-showcase .slidebox h2 { white-space: normal; }
}

/* Top menu icons to mirror lp_bootstrap visual language */
#lp-navbar .item-1134 > .nav-link .lp-nav-title::before,
#lp-navbar .item-1135 > .nav-link .lp-nav-title::before,
#lp-navbar .item-1136 > .nav-link .lp-nav-title::before,
#lp-navbar .item-1132 > .nav-link .lp-nav-title::before {
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.35rem;
  line-height: 1;
  margin-bottom: .45rem;
}
#lp-navbar .item-1134 > .nav-link .lp-nav-title::before { content: "\f091"; } /* trophy */
#lp-navbar .item-1135 > .nav-link .lp-nav-title::before { content: "\f004"; } /* heart */
#lp-navbar .item-1136 > .nav-link .lp-nav-title::before { content: "\f005"; } /* star */
#lp-navbar .item-1132 > .nav-link .lp-nav-title::before { content: "\f015"; } /* house */

/* jDownloads tree module (Bootstrap-friendly refresh) */
#jdtree.jd-tree-module {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.45;
}

#jdtree .jd-tree-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Remove one visual nesting layer: first child level stays flush */
#jdtree .jd-tree-level-1 {
  padding-left: 0;
}

#jdtree .jd-tree-level-2,
#jdtree .jd-tree-level-3,
#jdtree .jd-tree-level-4,
#jdtree .jd-tree-level-5 {
  padding-left: 1rem;
}

#jdtree .jd-tree-item {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
  margin: .18rem 0;
  min-width: 0;
}

#jdtree .jd-tree-item > .jd-tree-list {
  flex: 0 0 100%;
  margin-top: .1rem;
}

#jdtree .jd-tree-toggle,
#jdtree .jd-tree-toggle-spacer {
  width: 1.15rem;
  min-width: 1.15rem;
  text-align: center;
  color: var(--lp-accent);
}

#jdtree .jd-tree-toggle {
  border: 0 !important;
  background: transparent !important;
  padding: 0;
  cursor: pointer;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  outline: none;
}

#jdtree .jd-tree-folder-icon {
  width: 1rem;
  min-width: 1rem;
  text-align: center;
  color: var(--lp-accent);
}

#jdtree .jd-tree-link {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.02rem;
  text-decoration: none;
}

#jdtree .jd-tree-link:hover,
#jdtree .jd-tree-link:focus {
  color: #ffffff;
  text-decoration: none;
}

#jdtree .jd-tree-count {
  white-space: nowrap;
  font-size: .82rem;
  color: var(--lp-text-muted);
  background: rgba(0, 0, 0, .12);
  border: 1px solid var(--lp-border);
  border-radius: 999px;
  padding: .05rem .4rem;
}


#jdtree .jd-tree-toggle::before,
#jdtree .jd-tree-toggle-spacer::before {
  display: inline-block;
  font-family: inherit;
  font-weight: 900;
  font-size: 1.05rem;
  line-height: 1;
}

#jdtree .jd-tree-toggle::before {
  content: "+";
}

#jdtree .jd-tree-toggle[aria-expanded="true"]::before {
  content: "−";
}

#jdtree .jd-tree-toggle-spacer::before {
  content: "";
}

  /* Main com_jdownloads category thumbnail fit mode */
  :root {
    --jd-main-thumb-fit: cover;
  }

  .jd-item-page .jd-body .jd-thumbnail .jd-linkanchor {
    display: block;
    overflow: hidden;
    padding: 6px;
    border: 2px solid #eba74a;
    box-sizing: border-box;
    contain: paint;
  }

  .jd-item-page .jd-body .jd-thumbnail .jd-linkanchor .jd-linkspan,
  .jdownloads-category-view .jd-thumbnail .jd-linkanchor .jd-linkspan {
    background-size: var(--jd-main-thumb-fit, contain) !important;
    background-position: 50% 50% !important;
    background-repeat: no-repeat !important;
    background-color: rgba(0, 0, 0, 0.25);
    transition: transform .35s ease;
    transform: scale(1);
    transform-origin: center center;
  }

  .jd-item-page .jd-body .jd-thumbnail .jd-linkanchor:hover .jd-linkspan,
  .jd-item-page .jd-body .jd-thumbnail .jd-linkanchor:focus .jd-linkspan,
  .jdownloads-category-view .jd-thumbnail .jd-linkanchor:hover .jd-linkspan,
  .jdownloads-category-view .jd-thumbnail .jd-linkanchor:focus .jd-linkspan {
    transform: scale(1.08);
  }


  .jd-item-page .jd-body .jd-thumbnail img,
  .jdownloads-category-view .jd-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: var(--jd-main-thumb-fit, contain);
    object-position: 50% 50%;
  }

.jd-item-page .jd-body .jd-itemtext {
    text-align: center;
  }

  .jd-item-page .jd-body .jd-itemtext .title {
    display: inline-block;
    width: 100%;
    text-align: center;
  }





#lp-feature,
#lp-main-bottom,
#lp-top,
#lp-expanded-top,
#lp-main-top,
#lp-expanded-bottom,
#lp-utility,
#lp-copyright {
  background-image: url('/templates/lp_dark/images/marble-tile.jpg');
  background-position: 50% 0;
  background-color: #333333;
  background-repeat: repeat;
  box-shadow: inset -25px 0px 25px -25px rgba(0, 0, 0, 0.8);
  -webkit-box-shadow: inset -25px 0px 25px -25px rgba(0, 0, 0, 0.8);
  -moz-box-shadow: inset -25px 0px 25px -25px rgba(0,0,0, 0.8);
}

#lp-expanded-top,
#lp-top,
#lp-main-top {
  text-align: center;
}

/* lp_bootstrap parity: mainbottom / copyright strip */
body div#lp-main-bottom,
body #lp-copyright {
  padding: 15px 35px 10px 35px;
  font-size: 12px;
  text-shadow: 6px 6px 6px rgba(0, 0, 0, 0.6);
}

#lp-main-bottom,
#lp-copyright {
  box-shadow: inset -4px 8px 15px 2px rgba(0, 0, 0, 0.6);
  -webkit-box-shadow: inset -4px 8px 15px 2px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset -4px 8px 15px 2px rgba(0,0,0, 0.6);
}

