:root {
  --core1-green: #0f3d2e;
  --core1-green-2: #14543f;
  --core1-green-3: #e8f1ec;
  --core1-white: #ffffff;
  --core1-surface: #ffffff;
  --core1-bg: #f7faf8;
  --core1-text: #1c2521;
  --core1-heading: #173327;
  --core1-black: #111111;
  --core1-gold: #c8a24a;
  --core1-gold-2: #f5e8bd;
  --core1-muted: #66736e;
  --core1-border: #dce5df;
  --core1-danger: #b3261e;
  --core1-success: #146c43;
  --core1-info: #0f5f73;
  --core1-warning: #9a6a00;
  --core1-radius: 0.25rem;
  --core1-radius-lg: 0.35rem;
  --core1-radius-sm: 0.18rem;
  --core1-shadow: 0 1rem 2rem rgba(15, 61, 46, 0.12);
  --core1-gutter: clamp(1.25rem, 3vw, 2.25rem);
  --core1-section-space: 3rem;
  --core1-card-space: 2rem;
  --core1-grid-gap: 2rem;
  --core1-field-height: 2.75rem;
  --core1-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

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

body.core1.core1-font-system { --core1-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.core1.core1-font-arial { --core1-font-family: Arial, Helvetica, sans-serif; }
body.core1.core1-font-verdana { --core1-font-family: Verdana, Geneva, sans-serif; }
body.core1.core1-font-tahoma { --core1-font-family: Tahoma, Geneva, sans-serif; }
body.core1.core1-font-trebuchet { --core1-font-family: "Trebuchet MS", Arial, sans-serif; }
body.core1.core1-font-georgia { --core1-font-family: Georgia, "Times New Roman", serif; }
body.core1.core1-font-times { --core1-font-family: "Times New Roman", Times, serif; }
body.core1.core1-font-courier { --core1-font-family: "Courier New", Courier, monospace; }

body.core1.core1-spacing-compact {
  --core1-gutter: clamp(1rem, 2vw, 1.5rem);
  --core1-section-space: 2rem;
  --core1-card-space: 1.35rem;
  --core1-grid-gap: 1.25rem;
}

body.core1.core1-spacing-spacious {
  --core1-gutter: clamp(1.5rem, 4vw, 3rem);
  --core1-section-space: 4rem;
  --core1-card-space: 2.5rem;
  --core1-grid-gap: 2.5rem;
}



/* Joomla accessibility/Bootstrap utility helpers that Cassiopeia normally supplies. */
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.align-items-center { align-items: center !important; }
.justify-content-center { justify-content: center !important; }
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.w-100 { width: 100% !important; }

.core1 img { max-width: 100%; height: auto; }
.core1 a { color: var(--core1-green-2); text-underline-offset: 0.18em; }
.core1 a:hover { color: var(--core1-green); }
.core1 p { margin-top: 0; margin-bottom: 1.15rem; }
.core1 h1,
.core1 h2,
.core1 h3,
.core1 h4,
.core1 h5,
.core1 h6 {
  color: var(--core1-heading);
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1rem;
}

.container,
.container-fluid {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--core1-gutter);
}

.layout-static .container { max-width: 1220px; }
.layout-fluid .container-fluid { max-width: none; }

/* Lightweight Bootstrap-compatible layout support for Joomla component output. */
.row {
  --bs-gutter-x: var(--core1-grid-gap);
  --bs-gutter-y: var(--core1-grid-gap);
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}
.g-4 { --bs-gutter-x: var(--core1-grid-gap); --bs-gutter-y: var(--core1-grid-gap); }
.col,
.col-md { flex: 1 0 0%; }
.col-12 { flex: 0 0 auto; width: 100%; }
@media (min-width: 768px) {
  .col-md { flex: 1 0 0%; width: auto; }
  .col-md-3 { flex: 0 0 auto; width: 25%; }
  .col-md-4 { flex: 0 0 auto; width: 33.333333%; }
  .col-md-6 { flex: 0 0 auto; width: 50%; }
  .col-md-8 { flex: 0 0 auto; width: 66.666667%; }
  .col-md-9 { flex: 0 0 auto; width: 75%; }
  .col-md-12 { flex: 0 0 auto; width: 100%; }
}
@media (min-width: 992px) {
  .col-lg-2 { flex: 0 0 auto; width: 16.666667%; }
  .col-lg-3 { flex: 0 0 auto; width: 25%; }
  .col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
  .col-lg-6 { flex: 0 0 auto; width: 50%; }
  .col-lg-8 { flex: 0 0 auto; width: 66.666667%; }
  .col-lg-9 { flex: 0 0 auto; width: 75%; }
  .col-lg-10 { flex: 0 0 auto; width: 83.333333%; }
  .col-lg-12 { flex: 0 0 auto; width: 100%; }
}

.core1-topbar {
  background: var(--core1-black);
  color: var(--core1-white);
  font-size: 0.95rem;
  padding: 0.65rem 0;
}
.core1-topbar a { color: var(--core1-gold-2); }
.core1-topbar p { margin: 0; }

.core1-header {
  background: linear-gradient(135deg, var(--core1-green), var(--core1-green-2));
  color: var(--core1-white);
  border-bottom: 4px solid var(--core1-gold);
  z-index: 1000;
}
.has-sticky-header .core1-header { position: sticky; top: 0; }

.core1-header-inner {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  min-height: 102px;
  padding-block: 1rem;
}

.core1-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--core1-white);
  text-decoration: none;
  min-width: max-content;
}
.core1-brand:hover { color: var(--core1-white); }
.core1-brand img { max-height: 68px; width: auto; display: block; }
.core1-brand.has-logo { gap: 0; }
.core1-brand-mark {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: var(--core1-radius);
  background: var(--core1-gold);
  color: var(--core1-black);
  font-weight: 900;
  letter-spacing: -0.05em;
}
.core1-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.core1-brand-text strong { font-size: 1.35rem; letter-spacing: 0.02em; }
.core1-brand-text small { color: var(--core1-gold-2); font-size: 0.9rem; margin-top: 0.25rem; }

.core1-menu { flex: 1; display: flex; justify-content: flex-end; }
.core1-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0.4rem;
  align-items: center;
  flex-wrap: wrap;
}
.core1-menu li { position: relative; }
.core1-menu a,
.core1-menu span.nav-header,
.core1-menu .separator {
  display: block;
  padding: 0.75rem 1rem;
  border-radius: var(--core1-radius);
  color: var(--core1-white);
  text-decoration: none;
  font-weight: 650;
}
.core1-menu .active > a,
.core1-menu a:hover,
.core1-menu a:focus {
  background: rgba(255, 255, 255, 0.13);
  color: var(--core1-gold-2);
}
.core1-menu li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 230px;
  background: var(--core1-surface);
  box-shadow: var(--core1-shadow);
  border: 1px solid var(--core1-border);
  border-radius: var(--core1-radius-lg);
  padding: 0.5rem;
  z-index: 1001;
}
.core1-menu li:hover > ul,
.core1-menu li:focus-within > ul { display: block; }
.core1-menu li ul a { color: var(--core1-green); border-radius: var(--core1-radius-sm); }
.core1-menu li ul a:hover,
.core1-menu li ul a:focus { background: var(--core1-green-3); color: var(--core1-black); }

.core1-search { max-width: 300px; }
.core1-search input[type="search"],
.core1-search input[type="text"] {
  width: 100%;
  border-radius: var(--core1-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.45);
  padding: 0.7rem 0.9rem;
  min-height: var(--core1-field-height);
}

.core1-below-top,
.core1-bottom { padding: var(--core1-section-space) 0; }

/* Top module positions should sit closer to breadcrumbs/content than hero or bottom sections. */
.core1-feature-grid {
  padding: calc(var(--core1-section-space) * 0.45) 0 calc(var(--core1-section-space) * 0.30);
}
.core1-breadcrumbs + .core1-feature-grid {
  padding-top: calc(var(--core1-section-space) * 0.32);
}
.core1-feature-grid + .core1-main {
  padding-top: calc(var(--core1-section-space) * 0.28);
}
.core1-breadcrumbs + .core1-main {
  padding-top: calc(var(--core1-section-space) * 0.55);
}

.core1-hero {
  padding: calc(var(--core1-section-space) * 1.35) 0;
  background: radial-gradient(circle at top left, rgba(200, 162, 74, 0.3), transparent 34%), linear-gradient(135deg, var(--core1-green-3), var(--core1-surface));
  border-bottom: 1px solid var(--core1-border);
}
.core1-hero h1,
.core1-hero h2 { color: var(--core1-green); font-weight: 850; }

.core1-breadcrumbs {
  background: var(--core1-surface);
  border-bottom: 1px solid var(--core1-border);
  padding: 1rem 0;
}
.core1-breadcrumbs nav,
.core1-breadcrumbs .mod-breadcrumbs__wrapper {
  margin: 0;
}
.core1-breadcrumbs .breadcrumb,
.core1-breadcrumbs .mod-breadcrumbs,
.core1-breadcrumbs ol,
.core1-breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.core1-breadcrumbs li,
.core1-breadcrumbs .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: var(--core1-muted);
  font-size: 0.95rem;
}
.core1-breadcrumbs li + li::before,
.core1-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  display: inline-block;
  padding-inline: 0.55rem;
  color: var(--core1-gold);
  opacity: 0.75;
  font-weight: 700;
  line-height: 1;
}
.core1-breadcrumbs a {
  color: var(--core1-green-2);
  text-decoration: none;
}
.core1-breadcrumbs a:hover,
.core1-breadcrumbs a:focus {
  color: var(--core1-green);
  text-decoration: underline;
}
.core1-breadcrumbs .active,
.core1-breadcrumbs [aria-current="page"] {
  color: var(--core1-muted);
}

.core1-main { padding: var(--core1-section-space) 0; }

.core1-content,
.core1-card,
.core1-sidebar .moduletable,
.core1-main-top .moduletable,
.core1-main-bottom .moduletable,
.core1-feature-grid .moduletable,
.core1-bottom .moduletable {
  background: var(--core1-surface);
  border: 1px solid var(--core1-border);
  border-radius: var(--core1-radius-lg);
  box-shadow: 0 0.5rem 1.4rem rgba(17, 17, 17, 0.045);
  padding: var(--core1-card-space);
}
.core1-content { min-height: 380px; }
.core1-main-top { margin-bottom: var(--core1-grid-gap); }
.core1-main-bottom { margin-top: var(--core1-grid-gap); }
.core1-module-title { margin-top: 0; color: var(--core1-green); }
.card,
.moduletable { overflow-wrap: anywhere; }

/* Slightly tighter default spacing for modules placed in top-a/top-b. */
.core1-feature-grid .moduletable {
  padding: calc(var(--core1-card-space) * 0.72);
}
.core1-feature-grid .moduletable > :first-child,
.core1-feature-grid .moduletable ul > li > :first-child {
  margin-top: 0;
}
.core1-feature-grid .moduletable > :last-child,
.core1-feature-grid .moduletable ul > li > :last-child {
  margin-bottom: 0;
}
.core1-feature-grid .moduletable h1,
.core1-feature-grid .moduletable h2,
.core1-feature-grid .moduletable h3,
.core1-feature-grid .moduletable h4,
.core1-feature-grid .moduletable h5,
.core1-feature-grid .moduletable h6 {
  margin-bottom: 0.7rem;
}
.core1-feature-grid .moduletable p {
  margin-bottom: 0.75rem;
}
.core1-feature-grid .moduletable ul {
  margin-top: 0;
}
.core1-feature-grid .moduletable img {
  display: block;
  margin-block: 0.5rem 0.65rem;
}
.core1-feature-grid .moduletable .readmore,
.core1-feature-grid .moduletable .com-content-article__body,
.core1-feature-grid .moduletable .item-content {
  margin-bottom: 0;
}
.core1-feature-grid .moduletable .readmore {
  margin-top: 0.75rem;
}


/* Cleaner article/latest-post presentation in the Top-A/Top-B feature area. */
.core1-feature-grid .moduletable > ul,
.core1-feature-grid .moduletable ul.latestnews,
.core1-feature-grid .moduletable ul.mod-articleslatest,
.core1-feature-grid .moduletable ul.mod-articles-category,
.core1-feature-grid .moduletable .newsflash {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
  gap: clamp(1.1rem, 2.5vw, 2.1rem);
}

.core1-feature-grid .moduletable > ul > li,
.core1-feature-grid .moduletable ul.latestnews > li,
.core1-feature-grid .moduletable ul.mod-articleslatest > li,
.core1-feature-grid .moduletable ul.mod-articles-category > li,
.core1-feature-grid .moduletable .newsflash-item,
.core1-feature-grid .moduletable .mod-articlesnews__item,
.core1-feature-grid .moduletable .mod-articles-category-group {
  list-style: none;
  margin: 0;
  padding: 0;
}

.core1-feature-grid .moduletable > ul > li::marker,
.core1-feature-grid .moduletable ul.latestnews > li::marker,
.core1-feature-grid .moduletable ul.mod-articleslatest > li::marker,
.core1-feature-grid .moduletable ul.mod-articles-category > li::marker {
  content: "";
}

.core1-feature-grid .moduletable > ul > li > a:first-child,
.core1-feature-grid .moduletable ul.latestnews > li > a:first-child,
.core1-feature-grid .moduletable ul.mod-articleslatest > li > a:first-child,
.core1-feature-grid .moduletable ul.mod-articles-category > li > a:first-child,
.core1-feature-grid .moduletable .newsflash-title,
.core1-feature-grid .moduletable .newsflash-title a,
.core1-feature-grid .moduletable .mod-articlesnews__item-title,
.core1-feature-grid .moduletable .mod-articlesnews__item-title a,
.core1-feature-grid .moduletable .mod-articles-category-title,
.core1-feature-grid .moduletable .mod-articles-category-title a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--core1-heading);
  font-size: clamp(1.05rem, 1vw, 1.2rem);
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none;
  margin: 0 0 0.7rem;
}

.core1-feature-grid .moduletable > ul > li > a:first-child::before,
.core1-feature-grid .moduletable ul.latestnews > li > a:first-child::before,
.core1-feature-grid .moduletable ul.mod-articleslatest > li > a:first-child::before,
.core1-feature-grid .moduletable ul.mod-articles-category > li > a:first-child::before,
.core1-feature-grid .moduletable .newsflash-title::before,
.core1-feature-grid .moduletable .mod-articlesnews__item-title::before,
.core1-feature-grid .moduletable .mod-articles-category-title::before {
  content: "";
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: var(--core1-gold);
  box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--core1-gold) 18%, transparent);
  flex: 0 0 auto;
}

.core1-feature-grid .moduletable > ul > li > a:first-child:hover,
.core1-feature-grid .moduletable ul.latestnews > li > a:first-child:hover,
.core1-feature-grid .moduletable ul.mod-articleslatest > li > a:first-child:hover,
.core1-feature-grid .moduletable ul.mod-articles-category > li > a:first-child:hover,
.core1-feature-grid .moduletable .newsflash-title a:hover,
.core1-feature-grid .moduletable .mod-articlesnews__item-title a:hover,
.core1-feature-grid .moduletable .mod-articles-category-title a:hover {
  color: var(--core1-green-2);
  text-decoration: none;
}

.core1-feature-grid .moduletable > ul > li img,
.core1-feature-grid .moduletable ul.latestnews > li img,
.core1-feature-grid .moduletable ul.mod-articleslatest > li img,
.core1-feature-grid .moduletable ul.mod-articles-category > li img,
.core1-feature-grid .moduletable .newsflash-item img,
.core1-feature-grid .moduletable .mod-articlesnews__item img {
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border-radius: var(--core1-radius);
  border: 1px solid color-mix(in srgb, var(--core1-border) 70%, transparent);
  margin: 0 0 0.8rem;
}

.core1-feature-grid .moduletable > ul > li p,
.core1-feature-grid .moduletable ul.latestnews > li p,
.core1-feature-grid .moduletable ul.mod-articleslatest > li p,
.core1-feature-grid .moduletable ul.mod-articles-category > li p,
.core1-feature-grid .moduletable .newsflash-item p,
.core1-feature-grid .moduletable .mod-articlesnews__item p {
  margin-bottom: 0.65rem;
}

/* Keep the first main content card closer to the top module area. */
.core1-feature-grid + .core1-main .core1-content,
.core1-feature-grid + .core1-main .core1-sidebar .moduletable {
  padding-top: calc(var(--core1-card-space) * 0.75);
}

/* Joomla/Bootstrap-style buttons, including login and passkey/WebAuthn buttons. */
.btn,
.button,
.readmore .btn,
.core1-content button:not(.btn-close),
.core1-content input[type="submit"],
.core1-content input[type="button"],
.core1-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.55rem;
  border-radius: var(--core1-radius-sm);
  border: 1px solid var(--core1-green);
  padding: 0.58rem 1rem;
  cursor: pointer;
  font: inherit;
  line-height: 1.25;
  text-decoration: none;
  vertical-align: middle;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.btn:hover,
.button:hover,
.core1-content button:not(.btn-close):hover,
.core1-content input[type="submit"]:hover,
.core1-content input[type="button"]:hover,
.core1-search button:hover { text-decoration: none; }

.btn:focus-visible,
.button:focus-visible,
.core1-content button:not(.btn-close):focus-visible,
.core1-content input[type="submit"]:focus-visible,
.core1-content input[type="button"]:focus-visible,
.core1-search button:focus-visible {
  outline: 3px solid rgba(200, 162, 74, 0.35);
  outline-offset: 2px;
}

.btn-primary,
.button,
.btn.btn-primary,
button.btn-primary,
input[type="submit"],
.core1-search button {
  background: var(--core1-green);
  border-color: var(--core1-green);
  color: var(--core1-white);
}
.btn-primary:hover,
.button:hover,
.btn.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"]:hover,
.core1-search button:hover {
  background: var(--core1-black);
  border-color: var(--core1-black);
  color: var(--core1-gold-2);
}

.btn-secondary,
.btn.btn-secondary,
.btn-outline-secondary,
.btn.btn-outline-secondary,
.core1-content button:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-close) {
  background: var(--core1-surface);
  border-color: var(--core1-border);
  color: var(--core1-green);
}
.btn-secondary:hover,
.btn.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn.btn-outline-secondary:hover,
.core1-content button:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-close):hover {
  background: var(--core1-green-3);
  border-color: var(--core1-green-2);
  color: var(--core1-black);
}

.btn-success,
.btn.btn-success { background: var(--core1-success); border-color: var(--core1-success); color: var(--core1-white); }
.btn-danger,
.btn.btn-danger { background: var(--core1-danger); border-color: var(--core1-danger); color: var(--core1-white); }
.btn-warning,
.btn.btn-warning { background: var(--core1-gold); border-color: var(--core1-gold); color: var(--core1-black); }
.btn-info,
.btn.btn-info { background: var(--core1-info); border-color: var(--core1-info); color: var(--core1-white); }
.btn-link,
.btn.btn-link { background: transparent; border-color: transparent; color: var(--core1-green-2); padding-inline: 0.25rem; }
.btn-sm,
.btn-group-sm > .btn { min-height: 2.15rem; padding: 0.4rem 0.7rem; font-size: 0.9rem; }
.btn-lg,
.btn-group-lg > .btn { min-height: 3rem; padding: 0.75rem 1.25rem; font-size: 1.1rem; }
.btn-block,
.d-grid .btn { width: 100%; }

.btn svg,
.button svg,
.core1-content button svg { width: 1.1em; height: 1.1em; flex: 0 0 auto; }
.input-group { display: flex; align-items: stretch; width: 100%; }
.input-group > .form-control,
.input-group > .form-select { flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group > .btn,
.input-group > button,
.input-group > input[type="submit"] { border-radius: 0 var(--core1-radius-sm) var(--core1-radius-sm) 0; }
.input-group > .form-control:not(:last-child) { border-radius: var(--core1-radius-sm) 0 0 var(--core1-radius-sm); }

/* Common Joomla form controls. */
.form-control,
.form-select,
.inputbox,
textarea,
select,
.core1-content input[type="text"],
.core1-content input[type="email"],
.core1-content input[type="password"],
.core1-content input[type="search"],
.core1-content input[type="url"],
.core1-content input[type="tel"],
.core1-content input[type="number"] {
  display: block;
  width: 100%;
  min-height: var(--core1-field-height);
  padding: 0.62rem 0.8rem;
  border: 1px solid var(--core1-border);
  border-radius: var(--core1-radius-sm);
  background-color: var(--core1-surface);
  color: var(--core1-text);
  font: inherit;
  line-height: 1.35;
}
textarea.form-control,
textarea.inputbox,
.core1-content textarea { min-height: 8rem; }
.form-control:focus,
.form-select:focus,
.inputbox:focus,
textarea:focus,
select:focus,
.core1-content input:focus {
  border-color: var(--core1-green-2);
  outline: 3px solid rgba(20, 84, 63, 0.15);
  outline-offset: 0;
}
.form-label,
.control-label,
.core1-content label { font-weight: 650; margin-bottom: 0.35rem; color: var(--core1-heading); }
.control-group,
.mb-3,
.mod-login__userdata > div,
.com-users-login .control-group { margin-bottom: 1.2rem; }
.controls { max-width: 100%; }
.form-text,
.help-block,
small.text-muted { color: var(--core1-muted); }
fieldset { border: 1px solid var(--core1-border); border-radius: var(--core1-radius-lg); padding: 1rem 1.25rem; margin: 0 0 1.5rem; }
legend { width: auto; padding-inline: 0.35rem; font-weight: 800; color: var(--core1-green); }

/* User/login screens and passkey button spacing. */
.com-users-login,
.com-users-reset,
.com-users-remind,
.com-users-registration,
.login,
.logout {
  max-width: 760px;
}
.com-users-login .login-description,
.com-users-login__description { margin-bottom: 1.5rem; }
.com-users-login__options,
.com-users-login .com-users-login__options,
.com-users-login .mod-login__options,
.mod-login__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
}
.com-users-login__options .btn,
.com-users-login__options button,
.plg_system_webauthn_login_button,
button.plg_system_webauthn_login_button {
  width: auto;
  white-space: normal;
}


/* Polished Joomla login module/component fields. */
.mod-login,
.login,
.com-users-login {
  --core1-login-control-width: min(100%, 22rem);
}

.mod-login__userdata {
  display: grid;
  gap: 0.95rem;
}

.mod-login__userdata > div,
.mod-login .control-group,
.com-users-login .control-group {
  margin-bottom: 0;
}

.mod-login label:not(.form-check-label),
.com-users-login label:not(.form-check-label) {
  display: block;
}

.mod-login .form-control,
.mod-login .inputbox,
.mod-login input[type="text"],
.mod-login input[type="password"],
.mod-login .input-group,
.com-users-login .form-control,
.com-users-login .inputbox,
.com-users-login input[type="text"],
.com-users-login input[type="password"],
.com-users-login .input-group {
  width: var(--core1-login-control-width);
  max-width: 100%;
}

.mod-login .input-group,
.com-users-login .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

.mod-login .input-group > .form-control,
.mod-login .input-group > .inputbox,
.com-users-login .input-group > .form-control,
.com-users-login .input-group > .inputbox {
  flex: 1 1 auto;
  min-width: 0;
  width: 1%;
}

.input-password-toggle,
.btn.input-password-toggle,
button.input-password-toggle {
  flex: 0 0 var(--core1-field-height);
  width: var(--core1-field-height);
  min-width: var(--core1-field-height);
  max-width: var(--core1-field-height);
  min-height: var(--core1-field-height);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 1;
  overflow: hidden;
}

.input-password-toggle::before,
.btn.input-password-toggle::before,
button.input-password-toggle::before {
  content: "👁";
  font-size: 1.08rem;
  line-height: 1;
}

.input-password-toggle .icon-eye,
.input-password-toggle .icon-eye-slash,
.input-password-toggle .icon-eye-open,
.input-password-toggle .icon-eye-close {
  display: none;
}

.mod-login__remember,
.form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.form-check-input,
.mod-login input[type="checkbox"],
.core1-content input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--core1-green);
}

.plg_system_webauthn_login_button,
button.plg_system_webauthn_login_button,
.core1-content .plg_system_webauthn_login_button,
.mod-login .plg_system_webauthn_login_button,
.com-users-login .plg_system_webauthn_login_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: var(--core1-login-control-width);
  max-width: 100%;
  min-height: var(--core1-field-height);
  padding: 0.62rem 0.8rem;
  text-align: center;
}

.mod-login__submit,
.com-users-login__submit {
  margin-top: 0.25rem;
}

.mod-login__submit .btn,
.mod-login__submit button,
.mod-login__submit input[type="submit"],
.com-users-login__submit .btn,
.com-users-login__submit button,
.com-users-login__submit input[type="submit"] {
  min-width: 5rem;
}

.mod-login__options,
.com-users-login__options,
.mod-login ul,
.com-users-login ul {
  margin-top: 1.1rem;
}

.core1-sidebar .mod-login__userdata,
.core1-sidebar .mod-login .form-control,
.core1-sidebar .mod-login .inputbox,
.core1-sidebar .mod-login .input-group,
.core1-sidebar .plg_system_webauthn_login_button {
  --core1-login-control-width: 100%;
}


.badge,
.label {
  display: inline-block;
  border-radius: var(--core1-radius-sm);
  background: var(--core1-gold);
  color: var(--core1-black);
  padding: 0.25rem 0.45rem;
  font-size: 0.82rem;
  font-weight: 700;
}
.alert,
#system-message-container joomla-alert,
#system-message-container .alert {
  border-radius: var(--core1-radius-sm);
  margin-bottom: 1.5rem;
}

.core1-footer {
  background: var(--core1-black);
  color: #e8e8e8;
  border-top: 4px solid var(--core1-gold);
  padding: var(--core1-section-space) 0;
}
.core1-footer a { color: var(--core1-gold-2); }
.core1-footer p { margin-block: 0; }

.core1-backtop {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 3rem;
  height: 3rem;
  border: 0;
  border-radius: var(--core1-radius-sm);
  background: var(--core1-gold);
  color: var(--core1-black);
  font-size: 1.5rem;
  font-weight: 900;
  box-shadow: var(--core1-shadow);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.5rem);
  transition: all 0.2s ease;
}
.core1-backtop.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.core1-error {
  min-height: 100vh;
  display: grid;
  place-items: center;
  text-align: center;
  background: linear-gradient(135deg, var(--core1-green), var(--core1-black));
  color: var(--core1-white);
}
.core1-error h1 {
  font-size: clamp(4rem, 12vw, 10rem);
  color: var(--core1-gold);
  line-height: 1;
  margin: 0;
}
.core1-error .btn { display: inline-flex; margin-top: 1rem; }

@media (max-width: 991.98px) {
  .core1-header-inner {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 1.25rem;
  }
  .core1-brand { min-width: 0; }
  .core1-menu { justify-content: flex-start; width: 100%; }
  .core1-menu ul { display: block; width: 100%; }
  .core1-menu a,
  .core1-menu span.nav-header,
  .core1-menu .separator { padding-inline: 0.75rem; }
  .core1-menu li ul {
    position: static;
    box-shadow: none;
    margin: 0.35rem 0 0.75rem;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
  }
  .core1-menu li ul a { color: var(--core1-white); }
  .core1-search { max-width: 100%; width: 100%; }
}

@media (max-width: 575.98px) {
  .core1-brand img { max-height: 54px; }
  .core1-content,
  .core1-card,
  .core1-sidebar .moduletable,
  .core1-main-top .moduletable,
  .core1-main-bottom .moduletable,
  .core1-feature-grid .moduletable,
  .core1-bottom .moduletable { padding: 1.25rem; }
  .com-users-login__options,
  .mod-login__options { align-items: stretch; flex-direction: column; }
  .com-users-login__options .btn,
  .com-users-login__options button,
  .plg_system_webauthn_login_button { width: 100%; }
}

/* v1.0.12: Extra-strong Top-A/Top-B article list cleanup.
   Joomla article modules can output several different list/title class names depending on module settings.
   These broad selectors intentionally apply only inside the CORE1 feature grid positions. */
.core1-feature-grid :is(ul, ol) {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.core1-feature-grid :is(ul, ol) > li,
.core1-feature-grid li[class*="mod-articles"],
.core1-feature-grid .newsflash-item,
.core1-feature-grid .mod-articlesnews__item,
.core1-feature-grid .mod-articles-category-group {
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.core1-feature-grid :is(ul, ol) > li::marker,
.core1-feature-grid li[class*="mod-articles"]::marker,
.core1-feature-grid .newsflash-item::marker,
.core1-feature-grid .mod-articlesnews__item::marker,
.core1-feature-grid .mod-articles-category-group::marker {
  content: "" !important;
  color: transparent !important;
  font-size: 0 !important;
}

.core1-feature-grid .moduletable > div > :is(ul, ol),
.core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]),
.core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
  gap: clamp(1.1rem, 2.5vw, 2.1rem);
}

.core1-feature-grid :is(h1, h2, h3, h4, h5, h6, .item-title, .page-header, .newsflash-title, .mod-articlesnews__item-title, .mod-articles-category-title) {
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.2;
}

.core1-feature-grid :is(h1, h2, h3, h4, h5, h6, .item-title, .page-header, .newsflash-title, .mod-articlesnews__item-title, .mod-articles-category-title) > a,
.core1-feature-grid .moduletable li > a:first-child:not(.btn),
.core1-feature-grid .moduletable li > span:first-child {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  color: var(--core1-heading) !important;
  font-size: clamp(1.05rem, 1vw, 1.18rem);
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none !important;
  border-bottom: 2px solid color-mix(in srgb, var(--core1-gold) 55%, transparent);
  padding-bottom: 0.16rem;
}

.core1-feature-grid :is(h1, h2, h3, h4, h5, h6, .item-title, .page-header, .newsflash-title, .mod-articlesnews__item-title, .mod-articles-category-title) > a::before,
.core1-feature-grid .moduletable li > a:first-child:not(.btn)::before,
.core1-feature-grid .moduletable li > span:first-child::before {
  content: "";
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 2px;
  background: var(--core1-gold);
  box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--core1-gold) 16%, transparent);
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.core1-feature-grid :is(h1, h2, h3, h4, h5, h6, .item-title, .page-header, .newsflash-title, .mod-articlesnews__item-title, .mod-articles-category-title) > a:hover,
.core1-feature-grid .moduletable li > a:first-child:not(.btn):hover {
  color: var(--core1-green-2) !important;
  border-bottom-color: var(--core1-gold);
  text-decoration: none !important;
}

.core1-feature-grid .readmore,
.core1-feature-grid .readmore a,
.core1-feature-grid a.btn,
.core1-feature-grid .btn {
  text-decoration: none !important;
}


/* v1.0.13: Make Top-A/Top-B feature title accent underline span the full column width. */
.core1-feature-grid :is(h1, h2, h3, h4, h5, h6, .item-title, .page-header, .newsflash-title, .mod-articlesnews__item-title, .mod-articles-category-title) > a,
.core1-feature-grid .moduletable li > a:first-child:not(.btn),
.core1-feature-grid .moduletable li > span:first-child {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}


/* v1.0.14: Add subtle vertical dividers between Top-A/Top-B feature articles. */
.core1-feature-grid .moduletable > div > :is(ul, ol) > li,
.core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]) > li,
.core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) > :is(li, .newsflash-item, .mod-articlesnews__item, .mod-articles-category-group) {
  position: relative;
  border-left: 1px solid color-mix(in srgb, var(--core1-gold) 34%, var(--core1-border));
  padding-left: clamp(1rem, 2vw, 1.6rem) !important;
}

.core1-feature-grid .moduletable > div > :is(ul, ol) > li:first-child,
.core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]) > li:first-child,
.core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) > :is(li, .newsflash-item, .mod-articlesnews__item, .mod-articles-category-group):first-child {
  border-left: 0;
  padding-left: 0 !important;
}

@media (max-width: 767.98px) {
  .core1-feature-grid .moduletable > div > :is(ul, ol) > li,
  .core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]) > li,
  .core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) > :is(li, .newsflash-item, .mod-articlesnews__item, .mod-articles-category-group) {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--core1-gold) 24%, var(--core1-border));
    padding-left: 0 !important;
    padding-top: 1rem !important;
  }

  .core1-feature-grid .moduletable > div > :is(ul, ol) > li:first-child,
  .core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]) > li:first-child,
  .core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) > :is(li, .newsflash-item, .mod-articlesnews__item, .mod-articles-category-group):first-child {
    border-top: 0;
    padding-top: 0 !important;
  }
}

/* v1.0.20: Keep v1.0.15 stable Top-A/Top-B layout, remove horizontal dividers, and right-align Read More buttons. */
.core1-feature-grid .moduletable > div > :is(ul, ol) > li,
.core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]) > li,
.core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) > :is(li, .newsflash-item, .mod-articlesnews__item, .mod-articles-category-group) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.core1-feature-grid .readmore,
.core1-feature-grid p.readmore,
.core1-feature-grid .mod-articlesnews__readmore,
.core1-feature-grid .mod-articles-category-readmore {
  width: 100%;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center;
  text-align: right !important;
  margin: 0.55rem 0 0 !important;
}

.core1-feature-grid .readmore > a,
.core1-feature-grid p.readmore > a,
.core1-feature-grid .readmore .btn,
.core1-feature-grid .mod-articlesnews__readmore .btn,
.core1-feature-grid .mod-articles-category-readmore .btn,
.core1-feature-grid .mod-articlesnews__readmore a,
.core1-feature-grid .mod-articles-category-readmore a {
  width: auto !important;
  min-width: 0 !important;
  min-height: 2.15rem !important;
  padding: 0.38rem 0.68rem !important;
  font-size: 0.9rem !important;
  line-height: 1.2 !important;
  border-radius: var(--core1-radius-sm) !important;
}

.core1-feature-grid .readmore > a::before,
.core1-feature-grid p.readmore > a::before,
.core1-feature-grid .readmore .btn::before,
.core1-feature-grid .mod-articlesnews__readmore .btn::before,
.core1-feature-grid .mod-articles-category-readmore .btn::before,
.core1-feature-grid .mod-articlesnews__readmore a::before,
.core1-feature-grid .mod-articles-category-readmore a::before {
  content: none !important;
}

@media (min-width: 768px) {
  .core1-feature-grid .moduletable > div > :is(ul, ol) > li,
  .core1-feature-grid .moduletable :is(ul.mod-list, ul.latestnews, ul.mod-articleslatest, ul.mod-articles-category, ul.mod-articlesnews, ul[class*="mod-articles"]) > li,
  .core1-feature-grid :is(.latestnews, .mod-articleslatest, .mod-articles-category, .mod-articlesnews, .newsflash, .newsflash-horiz, .newsflash-vert) > :is(li, .newsflash-item, .mod-articlesnews__item, .mod-articles-category-group) {
    min-height: 100%;
  }
}


/* v1.0.21: slimmer, more subtle header search */
.core1-search {
  flex: 0 0 auto;
  width: min(292px, 100%);
  max-width: 292px;
}

.core1-search form,
.core1-search .search,
.core1-search .mod-finder,
.core1-search .mod-finder__search,
.core1-search .input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0;
  gap: 0;
}

.core1-search label,
.core1-search .form-text,
.core1-search .finder__advanced {
  display: none !important;
}

.core1-search input[type="search"],
.core1-search input[type="text"],
.core1-search .form-control {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: 2.2rem;
  min-height: 2.2rem;
  padding: 0.36rem 0.78rem;
  font-size: 0.88rem;
  line-height: 1.2;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-right: 0;
  border-radius: var(--core1-radius-sm) 0 0 var(--core1-radius-sm);
  background: rgba(255, 255, 255, 0.96);
  color: var(--core1-text);
  box-shadow: none;
}

.core1-search input[type="search"]::placeholder,
.core1-search input[type="text"]::placeholder,
.core1-search .form-control::placeholder {
  color: #6f7a76;
  opacity: 0.82;
}

.core1-search button,
.core1-search .btn,
.core1-search input[type="submit"] {
  flex: 0 0 auto;
  height: 2.2rem;
  min-height: 2.2rem;
  padding: 0.35rem 0.82rem;
  font-size: 0.84rem;
  line-height: 1.1;
  font-weight: 650;
  border-radius: 0 var(--core1-radius-sm) var(--core1-radius-sm) 0;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-left-color: rgba(255, 255, 255, 0.24);
  background: rgba(0, 0, 0, 0.26);
  color: var(--core1-white);
  box-shadow: none;
}

.core1-search button:hover,
.core1-search .btn:hover,
.core1-search input[type="submit"]:hover {
  background: rgba(0, 0, 0, 0.38);
  border-color: rgba(255, 255, 255, 0.72);
  border-left-color: rgba(255, 255, 255, 0.30);
  color: var(--core1-gold-2);
}

.core1-search input[type="search"]:focus,
.core1-search input[type="text"]:focus,
.core1-search .form-control:focus {
  outline: 0;
  border-color: rgba(245, 232, 189, 0.82);
  box-shadow: 0 0 0 2px rgba(200, 162, 74, 0.18);
}


/* v1.0.22: icon-only header search button */
.core1-search {
  width: min(264px, 100%);
  max-width: 264px;
}

.core1-search input[type="search"],
.core1-search input[type="text"],
.core1-search .form-control {
  height: 2.05rem;
  min-height: 2.05rem;
  padding: 0.30rem 0.70rem;
  font-size: 0.84rem;
}

.core1-search button,
.core1-search .btn,
.core1-search input[type="submit"] {
  width: 2.35rem;
  min-width: 2.35rem;
  height: 2.05rem;
  min-height: 2.05rem;
  padding: 0;
  font-size: 0;
  line-height: 1;
  color: transparent;
  overflow: hidden;
  position: relative;
  background-color: rgba(0, 0, 0, 0.20);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.92rem 0.92rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%2F%3E%3Cpath d='m20 20-3.5-3.5'%2F%3E%3C/svg%3E");
}

.core1-search button::before,
.core1-search .btn::before {
  content: "";
  display: block;
  width: 0.92rem;
  height: 0.92rem;
  margin: auto;
  background: currentColor;
  color: var(--core1-white);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.8 3a6.8 6.8 0 0 1 5.4 10.94l4.43 4.43-1.41 1.41-4.43-4.43A6.8 6.8 0 1 1 9.8 3Zm0 2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.8 3a6.8 6.8 0 0 1 5.4 10.94l4.43 4.43-1.41 1.41-4.43-4.43A6.8 6.8 0 1 1 9.8 3Zm0 2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.core1-search button:hover,
.core1-search .btn:hover,
.core1-search input[type="submit"]:hover {
  background-color: rgba(0, 0, 0, 0.28);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5e8bd' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%2F%3E%3Cpath d='m20 20-3.5-3.5'%2F%3E%3C/svg%3E");
}

.core1-search button:hover::before,
.core1-search .btn:hover::before {
  color: var(--core1-gold-2);
}


/* v1.0.23: fix header search icon rendering - use one CSS mask icon only */
.core1-search {
  width: min(252px, 100%);
  max-width: 252px;
}

.core1-search input[type="search"],
.core1-search input[type="text"],
.core1-search .form-control {
  height: 2rem;
  min-height: 2rem;
  padding: 0.28rem 0.68rem;
  font-size: 0.83rem;
}

.core1-search button,
.core1-search .btn,
.core1-search input[type="submit"] {
  width: 2.15rem;
  min-width: 2.15rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  color: var(--core1-white) !important;
  overflow: hidden;
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.18) !important;
  background-image: none !important;
  box-shadow: none;
}

.core1-search button > *,
.core1-search .btn > * {
  display: none !important;
}

.core1-search button::before,
.core1-search .btn::before {
  content: none !important;
  display: none !important;
}

.core1-search button::after,
.core1-search .btn::after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 0 1 5.18 10.43l4.45 4.45-1.25 1.25-4.45-4.45A6.5 6.5 0 1 1 10.5 4Zm0 1.8a4.7 4.7 0 1 0 0 9.4 4.7 4.7 0 0 0 0-9.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 0 1 5.18 10.43l4.45 4.45-1.25 1.25-4.45-4.45A6.5 6.5 0 1 1 10.5 4Zm0 1.8a4.7 4.7 0 1 0 0 9.4 4.7 4.7 0 0 0 0-9.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.core1-search button:hover,
.core1-search .btn:hover,
.core1-search input[type="submit"]:hover {
  color: var(--core1-gold-2) !important;
  background-color: rgba(0, 0, 0, 0.25) !important;
}


/* v1.0.24: cleaner, larger CSS-drawn magnifying glass for header search */
.core1-search {
  width: min(248px, 100%);
  max-width: 248px;
}

.core1-search input[type="search"],
.core1-search input[type="text"],
.core1-search .form-control {
  height: 1.95rem;
  min-height: 1.95rem;
  padding: 0.26rem 0.66rem;
  font-size: 0.82rem;
}

.core1-search button,
.core1-search .btn,
.core1-search input[type="submit"] {
  width: 2.25rem;
  min-width: 2.25rem;
  height: 1.95rem;
  min-height: 1.95rem;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  background-color: rgba(0, 0, 0, 0.16) !important;
  background-image: none !important;
  position: relative;
}

.core1-search button::before,
.core1-search .btn::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  width: 0.78rem;
  height: 0.78rem;
  top: 50%;
  left: 50%;
  transform: translate(-60%, -58%);
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent !important;
  -webkit-mask: none !important;
          mask: none !important;
}

.core1-search button::after,
.core1-search .btn::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  width: 0.54rem;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(10%, 34%) rotate(45deg);
  transform-origin: left center;
  border-radius: 999px;
  background-color: currentColor !important;
  -webkit-mask: none !important;
          mask: none !important;
}

.core1-search button:hover,
.core1-search .btn:hover,
.core1-search input[type="submit"]:hover {
  color: var(--core1-gold-2) !important;
  background-color: rgba(0, 0, 0, 0.22) !important;
}


/* v1.0.25: make dropdown/submenu items readable on the light dropdown surface */
.core1-menu li ul,
.core1-menu li .mod-menu__sub,
.core1-menu .mod-menu__sub,
.core1-menu .metismenu.mod-menu .mm-collapse,
.core1-menu .metismenu.mod-menu .mm-collapsing {
  background: var(--core1-surface) !important;
  color: var(--core1-text) !important;
}

.core1-menu li ul li,
.core1-menu li .mod-menu__sub li,
.core1-menu .mod-menu__sub li {
  color: var(--core1-text) !important;
}

.core1-menu li ul a,
.core1-menu li ul a:visited,
.core1-menu li ul .nav-link,
.core1-menu li ul span.nav-header,
.core1-menu li ul .separator,
.core1-menu li ul .mod-menu__heading,
.core1-menu li ul button,
.core1-menu li .mod-menu__sub a,
.core1-menu li .mod-menu__sub a:visited,
.core1-menu li .mod-menu__sub .nav-link,
.core1-menu li .mod-menu__sub span.nav-header,
.core1-menu li .mod-menu__sub .separator,
.core1-menu li .mod-menu__sub .mod-menu__heading,
.core1-menu li .mod-menu__sub button {
  color: var(--core1-green) !important;
  background: transparent !important;
  text-decoration: none;
  text-shadow: none !important;
}

.core1-menu li ul .active > a,
.core1-menu li ul a:hover,
.core1-menu li ul a:focus,
.core1-menu li ul .nav-link:hover,
.core1-menu li ul .nav-link:focus,
.core1-menu li .mod-menu__sub .active > a,
.core1-menu li .mod-menu__sub a:hover,
.core1-menu li .mod-menu__sub a:focus,
.core1-menu li .mod-menu__sub .nav-link:hover,
.core1-menu li .mod-menu__sub .nav-link:focus {
  color: var(--core1-black) !important;
  background: var(--core1-green-3) !important;
}

.core1-menu li ul .active > a,
.core1-menu li .mod-menu__sub .active > a {
  box-shadow: inset 3px 0 0 var(--core1-gold);
}

.core1-menu li ul .mm-toggler,
.core1-menu li .mod-menu__sub .mm-toggler {
  color: var(--core1-green) !important;
  border-color: transparent !important;
}

.core1-menu li ul .mm-toggler::after,
.core1-menu li .mod-menu__sub .mm-toggler::after {
  border-color: currentColor !important;
}

/* v1.0.26: stabilize and align multi-level menu dropdowns */
.core1-header,
.core1-header-inner,
.core1-menu,
.core1-menu .moduletable,
.core1-menu .mod-menu,
.core1-menu li {
  overflow: visible;
}

.core1-menu li > ul,
.core1-menu li > .mod-menu__sub,
.core1-menu .metismenu.mod-menu li > .mm-collapse,
.core1-menu .metismenu.mod-menu li > .mm-collapsing {
  position: absolute !important;
  display: none !important;
  flex-direction: column;
  align-items: stretch;
  gap: 0.15rem;
  min-width: 230px;
  width: max-content;
  max-width: min(320px, calc(100vw - 2rem));
  margin: 0 !important;
  padding: 0.5rem !important;
  background: var(--core1-surface) !important;
  border: 1px solid var(--core1-border) !important;
  border-radius: var(--core1-radius-lg) !important;
  box-shadow: 0 1rem 2rem rgba(15, 61, 46, 0.14) !important;
  z-index: 3000 !important;
}

.core1-menu > ul > li > ul,
.core1-menu > ul > li > .mod-menu__sub,
.core1-menu .mod-menu > li > ul,
.core1-menu .mod-menu > li > .mod-menu__sub,
.core1-menu .metismenu.mod-menu > li > .mm-collapse,
.core1-menu .metismenu.mod-menu > li > .mm-collapsing {
  top: calc(100% + 0.45rem) !important;
  left: 0 !important;
  right: auto !important;
}

.core1-menu li li > ul,
.core1-menu li li > .mod-menu__sub,
.core1-menu .metismenu.mod-menu li li > .mm-collapse,
.core1-menu .metismenu.mod-menu li li > .mm-collapsing {
  top: 0 !important;
  left: calc(100% + 0.45rem) !important;
  right: auto !important;
}

.core1-menu li:hover > ul,
.core1-menu li:focus-within > ul,
.core1-menu li:hover > .mod-menu__sub,
.core1-menu li:focus-within > .mod-menu__sub,
.core1-menu .metismenu.mod-menu li:hover > .mm-collapse,
.core1-menu .metismenu.mod-menu li:focus-within > .mm-collapse,
.core1-menu .metismenu.mod-menu li:hover > .mm-collapsing,
.core1-menu .metismenu.mod-menu li:focus-within > .mm-collapsing {
  display: flex !important;
}

.core1-menu li > ul li,
.core1-menu li > .mod-menu__sub li {
  display: block;
  width: 100%;
  min-width: 0;
}

.core1-menu li > ul a,
.core1-menu li > .mod-menu__sub a,
.core1-menu li > ul .nav-link,
.core1-menu li > .mod-menu__sub .nav-link,
.core1-menu li > ul .separator,
.core1-menu li > .mod-menu__sub .separator,
.core1-menu li > ul span.nav-header,
.core1-menu li > .mod-menu__sub span.nav-header {
  display: block;
  width: 100%;
  white-space: nowrap;
  padding: 0.62rem 0.85rem;
  line-height: 1.25;
  border-radius: var(--core1-radius-sm);
}

.core1-menu li li:has(> ul) > a,
.core1-menu li li:has(> .mod-menu__sub) > a,
.core1-menu li li:has(> ul) > .nav-link,
.core1-menu li li:has(> .mod-menu__sub) > .nav-link,
.core1-menu li li:has(> ul) > .separator,
.core1-menu li li:has(> .mod-menu__sub) > .separator,
.core1-menu li li:has(> ul) > span.nav-header,
.core1-menu li li:has(> .mod-menu__sub) > span.nav-header {
  padding-right: 2rem;
}

.core1-menu li li:has(> ul)::after,
.core1-menu li li:has(> .mod-menu__sub)::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  color: var(--core1-gold);
  font-weight: 800;
  pointer-events: none;
}

@media (max-width: 991.98px) {
  .core1-menu li > ul,
  .core1-menu li > .mod-menu__sub,
  .core1-menu .metismenu.mod-menu li > .mm-collapse,
  .core1-menu .metismenu.mod-menu li > .mm-collapsing {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0.35rem 0 0.75rem !important;
    padding: 0.5rem !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    box-shadow: none !important;
  }

  .core1-menu li li:has(> ul)::after,
  .core1-menu li li:has(> .mod-menu__sub)::after {
    content: none;
  }

  .core1-menu li > ul a,
  .core1-menu li > .mod-menu__sub a,
  .core1-menu li > ul .nav-link,
  .core1-menu li > .mod-menu__sub .nav-link,
  .core1-menu li > ul .separator,
  .core1-menu li > .mod-menu__sub .separator,
  .core1-menu li > ul span.nav-header,
  .core1-menu li > .mod-menu__sub span.nav-header {
    white-space: normal;
  }
}


/* v1.0.27: align flyout dropdowns and remove the hover gap between parent and child items */
.core1-menu li li {
  position: relative !important;
}

.core1-menu li li > ul,
.core1-menu li li > .mod-menu__sub,
.core1-menu .metismenu.mod-menu li li > .mm-collapse,
.core1-menu .metismenu.mod-menu li li > .mm-collapsing,
.core1-menu .dropdown-menu .dropdown-menu,
.core1-menu .dropdown-submenu > .dropdown-menu {
  top: -0.5rem !important;
  left: calc(100% - 1px) !important;
  right: auto !important;
  margin: 0 !important;
}

.core1-menu li li > ul::before,
.core1-menu li li > .mod-menu__sub::before,
.core1-menu .metismenu.mod-menu li li > .mm-collapse::before,
.core1-menu .metismenu.mod-menu li li > .mm-collapsing::before,
.core1-menu .dropdown-menu .dropdown-menu::before,
.core1-menu .dropdown-submenu > .dropdown-menu::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.75rem;
  width: 0.75rem;
  background: transparent;
}

.core1-menu li li:has(> ul)::after,
.core1-menu li li:has(> .mod-menu__sub)::after {
  right: 0.85rem;
}

@media (max-width: 991.98px) {
  .core1-menu li li > ul,
  .core1-menu li li > .mod-menu__sub,
  .core1-menu .metismenu.mod-menu li li > .mm-collapse,
  .core1-menu .metismenu.mod-menu li li > .mm-collapsing,
  .core1-menu .dropdown-menu .dropdown-menu,
  .core1-menu .dropdown-submenu > .dropdown-menu {
    top: auto !important;
    left: auto !important;
    margin: 0.35rem 0 0.75rem !important;
  }

  .core1-menu li li > ul::before,
  .core1-menu li li > .mod-menu__sub::before,
  .core1-menu .metismenu.mod-menu li li > .mm-collapse::before,
  .core1-menu .metismenu.mod-menu li li > .mm-collapsing::before,
  .core1-menu .dropdown-menu .dropdown-menu::before,
  .core1-menu .dropdown-submenu > .dropdown-menu::before {
    content: none;
  }
}

/* v1.0.28: left-align header navigation and precisely align nested dropdowns */
@media (min-width: 992px) {
  .core1-header-inner {
    justify-content: flex-start;
    gap: clamp(1.25rem, 2.5vw, 2.75rem);
  }

  .core1-menu {
    flex: 1 1 auto;
    justify-content: flex-start !important;
    margin-left: clamp(0.5rem, 1.5vw, 1.5rem);
    margin-right: 1.25rem;
    min-width: 0;
  }

  .core1-menu > ul,
  .core1-menu .mod-menu {
    justify-content: flex-start !important;
    flex-wrap: nowrap;
  }

  .core1-search {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .core1-menu li,
  .core1-menu .mod-menu__sub > li,
  .core1-menu li > ul > li,
  .core1-menu .dropdown-menu > li {
    position: relative !important;
  }

  .core1-menu > ul > li > ul,
  .core1-menu > ul > li > .mod-menu__sub,
  .core1-menu .mod-menu > li > ul,
  .core1-menu .mod-menu > li > .mod-menu__sub,
  .core1-menu .metismenu.mod-menu > li > .mm-collapse,
  .core1-menu .metismenu.mod-menu > li > .mm-collapsing {
    top: calc(100% + 0.35rem) !important;
    left: 0 !important;
    right: auto !important;
    inset: calc(100% + 0.35rem) auto auto 0 !important;
    transform: none !important;
    margin: 0 !important;
  }

  .core1-menu li li > ul,
  .core1-menu li li > .mod-menu__sub,
  .core1-menu .mod-menu__sub > li > ul,
  .core1-menu .mod-menu__sub > li > .mod-menu__sub,
  .core1-menu .dropdown-menu > li > .dropdown-menu,
  .core1-menu .dropdown-submenu > .dropdown-menu,
  .core1-menu .metismenu.mod-menu li li > .mm-collapse,
  .core1-menu .metismenu.mod-menu li li > .mm-collapsing {
    top: 0 !important;
    left: 100% !important;
    right: auto !important;
    inset: 0 auto auto 100% !important;
    transform: none !important;
    margin: 0 !important;
    margin-left: -1px !important;
  }

  .core1-menu li li > ul::before,
  .core1-menu li li > .mod-menu__sub::before,
  .core1-menu .mod-menu__sub > li > ul::before,
  .core1-menu .mod-menu__sub > li > .mod-menu__sub::before,
  .core1-menu .dropdown-menu > li > .dropdown-menu::before,
  .core1-menu .dropdown-submenu > .dropdown-menu::before,
  .core1-menu .metismenu.mod-menu li li > .mm-collapse::before,
  .core1-menu .metismenu.mod-menu li li > .mm-collapsing::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -6px;
    width: 6px;
    background: transparent;
  }

  .core1-menu li > ul,
  .core1-menu li > .mod-menu__sub,
  .core1-menu .dropdown-menu,
  .core1-menu .metismenu.mod-menu li > .mm-collapse,
  .core1-menu .metismenu.mod-menu li > .mm-collapsing {
    min-width: 230px;
    width: max-content;
  }

  .core1-menu li > ul a,
  .core1-menu li > .mod-menu__sub a,
  .core1-menu li > ul .nav-link,
  .core1-menu li > .mod-menu__sub .nav-link,
  .core1-menu li > ul .separator,
  .core1-menu li > .mod-menu__sub .separator,
  .core1-menu li > ul span.nav-header,
  .core1-menu li > .mod-menu__sub span.nav-header {
    min-height: 2.75rem;
    display: flex !important;
    align-items: center;
  }
}

/* v1.0.29: Joomla 5/6 module title visibility and consistent module headers.
   This covers the modern html/layouts/chromes/card.php chrome, the legacy
   html/modules.php fallback, and common Joomla/bootstrap title output. */
.core1-module {
  position: relative;
}

.core1-module-header {
  margin: calc(var(--core1-card-space) * -1) calc(var(--core1-card-space) * -1) 1rem;
  padding: 0.78rem var(--core1-card-space);
  border-bottom: 1px solid color-mix(in srgb, var(--core1-border) 78%, var(--core1-gold));
  border-radius: var(--core1-radius-lg) var(--core1-radius-lg) 0 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--core1-primary-soft, var(--core1-green-3)) 78%, #fff), var(--core1-surface));
}

.core1-module-title,
.core1-card > .card-header,
.core1-sidebar .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child,
.core1-main-top .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child,
.core1-main-bottom .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child,
.core1-bottom .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.9rem;
  padding: 0 0 0.45rem;
  color: var(--core1-heading) !important;
  font-size: clamp(1.05rem, 1.1vw, 1.25rem);
  font-weight: 850;
  line-height: 1.18;
  letter-spacing: -0.015em;
  border-bottom: 2px solid color-mix(in srgb, var(--core1-gold) 50%, transparent);
}

.core1-module-header .core1-module-title {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}

.core1-module-title::before,
.core1-sidebar .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child::before,
.core1-main-top .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child::before,
.core1-main-bottom .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child::before,
.core1-bottom .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  border-radius: 2px;
  background: var(--core1-gold);
  transform: rotate(45deg);
  box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--core1-gold) 16%, transparent);
}

.core1-module-body > :first-child {
  margin-top: 0;
}

.core1-module-body > :last-child {
  margin-bottom: 0;
}

.core1-sidebar .core1-module-header {
  margin-bottom: 0.85rem;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.core1-sidebar .core1-module-title,
.core1-sidebar .moduletable > :is(h1, h2, h3, h4, h5, h6):first-child {
  font-size: 1.02rem;
}

.core1-sidebar .core1-module + .core1-module,
.core1-sidebar .moduletable + .moduletable {
  margin-top: var(--core1-grid-gap);
}

.core1-topbar .core1-module-title,
.core1-header .core1-module-title,
.core1-menu .core1-module-title,
.core1-search .core1-module-title,
.core1-breadcrumbs .core1-module-title {
  display: none !important;
}

/* v1.0.30: clean sidebar menu/navigation module styling */
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) li {
  list-style: none;
  margin: 0;
  padding: 0;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) li::marker {
  content: "";
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading) {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.35rem;
  width: 100%;
  padding: 0.55rem 0.72rem;
  border: 1px solid transparent;
  border-radius: calc(var(--core1-radius-sm) + 1px);
  background: transparent;
  color: var(--core1-green);
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading)::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--core1-gold);
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--core1-gold) 14%, transparent);
  opacity: 0.78;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) a::after,
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) .nav-link::after {
  content: "›";
  margin-left: auto;
  color: var(--core1-gold);
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1;
  opacity: 0.65;
  transition: transform 0.16s ease, opacity 0.16s ease;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link):hover,
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link):focus {
  background: color-mix(in srgb, var(--core1-primary-soft, var(--core1-green-3)) 78%, #fff);
  border-color: color-mix(in srgb, var(--core1-gold) 42%, var(--core1-border));
  color: var(--core1-green);
  box-shadow: 0 0.35rem 1rem rgba(17, 17, 17, 0.04);
  outline: none;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link):hover::after,
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link):focus::after {
  opacity: 1;
  transform: translateX(0.12rem);
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(.active, .current, .selected) > :is(a, .nav-link) {
  background: var(--core1-green);
  border-color: var(--core1-green);
  color: var(--core1-white);
  box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--core1-gold) 68%, transparent);
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(.active, .current, .selected) > :is(a, .nav-link)::before {
  background: var(--core1-gold);
  box-shadow: 0 0 0 0.16rem rgba(255, 255, 255, 0.16);
  opacity: 1;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(.active, .current, .selected) > :is(a, .nav-link)::after {
  color: var(--core1-gold);
  opacity: 1;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(ul, .mod-menu__sub) {
  list-style: none;
  margin: 0.42rem 0 0.1rem 0.72rem;
  padding: 0 0 0 0.7rem;
  border-left: 2px solid color-mix(in srgb, var(--core1-gold) 34%, var(--core1-border));
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom) .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(ul, .mod-menu__sub) :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading) {
  min-height: 2.15rem;
  padding: 0.48rem 0.62rem;
  font-size: 0.95rem;
  font-weight: 750;
}

.core1-sidebar .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) {
  gap: 0.5rem;
}

.core1-sidebar .core1-module-body :is(ul.mod-menu, ul.menu, ul.nav.menu, ul.nav.mod-menu) :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading) {
  min-height: 2.5rem;
}


/* v1.0.31: remove default list bullets from sidebar/menu modules */
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom)
  :is(.core1-module-body, .moduletable, .moduletable_menu)
  :is(ul.mod-menu, ul.menu, ul.nav, ul.nav.menu, ul.nav.mod-menu, .mod-menu__sub) {
  list-style: none !important;
  padding-left: 0 !important;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom)
  :is(.core1-module-body, .moduletable, .moduletable_menu)
  :is(ul.mod-menu, ul.menu, ul.nav, ul.nav.menu, ul.nav.mod-menu, .mod-menu__sub) > li {
  list-style: none !important;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom)
  :is(.core1-module-body, .moduletable, .moduletable_menu)
  :is(ul.mod-menu, ul.menu, ul.nav, ul.nav.menu, ul.nav.mod-menu, .mod-menu__sub) > li::marker {
  content: "" !important;
}

/* Joomla can output menu classes on either the ul or the li; cover both. */
.core1-sidebar :is(li.item, li.menu-item, li.nav-item)::marker,
.core1-sidebar :is(.mod-menu li, .menu li, .nav li)::marker {
  content: "" !important;
}


/* v1.0.32: remove the custom gold bullet/accent dot from sidebar/navigation menu links.
   The visible dot was a template pseudo-element, not a Joomla list marker. */
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom)
  .core1-module-body
  :is(ul.mod-menu, ul.menu, ul.nav, ul.nav.menu, ul.nav.mod-menu, .mod-menu__sub)
  :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading)::before,
:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom)
  :is(.moduletable, .moduletable_menu)
  :is(ul.mod-menu, ul.menu, ul.nav, ul.nav.menu, ul.nav.mod-menu, .mod-menu__sub)
  :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading)::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

:is(.core1-sidebar, .core1-main-top, .core1-main-bottom, .core1-bottom)
  .core1-module-body
  :is(ul.mod-menu, ul.menu, ul.nav, ul.nav.menu, ul.nav.mod-menu, .mod-menu__sub)
  :is(a, .nav-link, span.nav-header, .separator, .mod-menu__heading) {
  gap: 0.35rem;
}


/* v1.0.33: hide frontend content editing controls when enabled in template options.
   This cleans up category/article views where Joomla may still output edit/create UI for users with ACL permissions. */
.core1-hide-frontend-editing :is(.com-content-category, .category-list, .blog, .com-content-article) :is(.icons, .edit-icon, .article-info .edit, .item-page .edit) {
  display: none !important;
}

.core1-hide-frontend-editing :is(.com-content-category, .category-list) :is(#categorylist_header_edit, th[id*="_edit"], th.headers-edit, th.list-edit, td[headers="categorylist_header_edit"], td[headers*="_edit"], td.list-edit, .list-edit) {
  display: none !important;
}

.core1-hide-frontend-editing :is(.com-content-category, .category-list) :is(a, button, .btn)[href*="task=article.add"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) :is(a, button, .btn)[href*="task=article.edit"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) :is(a, button, .btn)[href*="layout=edit"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) :is(a, button, .btn)[href*="view=form"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) .btn-toolbar :is(a, button, .btn)[class*="edit"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) .btn-toolbar :is(a, button, .btn)[class*="create"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) .btn-toolbar :is(a, button, .btn)[class*="new"] {
  display: none !important;
}

.core1-hide-frontend-editing :is(.com-content-category, .category-list) table :is(a, button, .btn)[href*="task=article.edit"],
.core1-hide-frontend-editing :is(.com-content-category, .category-list) table :is(a, button, .btn)[href*="layout=edit"] {
  display: none !important;
}

.core1-hide-frontend-editing .core1-hidden-edit-column {
  display: none !important;
}


/* v1.0.34: tighten and relocate Joomla category list item-count/limit selector.
   Joomla category list pages can output the pagination limit select near the top of the view.
   Keep it compact and, when JS is enabled, move it to the bottom of the category form. */
.core1-content :is(.com-content-category, .category-list) :is(select#limit, select[name="limit"], .form-select#limit) {
  width: auto !important;
  min-width: 5rem;
  max-width: 7rem;
  display: inline-block;
  min-height: 2.25rem;
  padding-top: 0.36rem;
  padding-bottom: 0.36rem;
  padding-left: 0.65rem;
  padding-right: 2rem;
  font-size: 0.94rem;
  line-height: 1.25;
}

.core1-content :is(.com-content-category, .category-list) :is(.display-limit, .pagination-limit, .pagination-toolbar, .com-content-category__pagination, .limit) {
  width: auto;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
}

.core1-category-limitbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-top: 1.35rem;
  padding-top: 0.9rem;
  border-top: 1px solid color-mix(in srgb, var(--core1-border) 82%, transparent);
}

.core1-category-limitbar .core1-category-limit-label {
  margin: 0;
  color: var(--core1-muted);
  font-size: 0.9rem;
  font-weight: 650;
  white-space: nowrap;
}

.core1-category-limitbar :is(select#limit, select[name="limit"], .form-select#limit) {
  flex: 0 0 auto !important;
}

.core1-category-limit-source:empty,
.core1-category-limit-source.is-core1-empty {
  display: none !important;
}

@media (max-width: 575.98px) {
  .core1-category-limitbar {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v1.0.35: make Joomla category list tables use the full content width.
   After moving the item-limit selector to the bottom, some category list tables
   can shrink-wrap to their columns. Force the table/container to span the card
   and push date/status style columns to the right. */
.core1-content :is(.com-content-category, .category-list) :is(.table-responsive, .com-content-category__items, .category) {
  width: 100%;
  max-width: 100%;
}

.core1-content :is(.com-content-category, .category-list) table {
  width: 100% !important;
  max-width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

.core1-content :is(.com-content-category, .category-list) table :is(th, td) {
  vertical-align: middle;
  padding-inline: 0.35rem;
}

.core1-content :is(.com-content-category, .category-list) table :is(th[id*="title"], td[headers*="title"], .list-title) {
  width: 100%;
}

.core1-content :is(.com-content-category, .category-list) table :is(
  th[id*="date"],
  th[id*="publish"],
  th[id*="created"],
  th[id*="modified"],
  th[id*="hits"],
  td[headers*="date"],
  td[headers*="publish"],
  td[headers*="created"],
  td[headers*="modified"],
  td[headers*="hits"],
  .list-date,
  .list-hits
) {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}

/* v1.0.36: keep category date/status values centered under their column headers. */
.core1-content :is(.com-content-category, .category-list) table thead th:last-child,
.core1-content :is(.com-content-category, .category-list) table tbody td:last-child {
  text-align: center;
}

.core1-content :is(.com-content-category, .category-list) table :is(
  th[id*="date"],
  th[id*="publish"],
  th[id*="created"],
  th[id*="modified"],
  th[id*="hits"],
  td[headers*="date"],
  td[headers*="publish"],
  td[headers*="created"],
  td[headers*="modified"],
  td[headers*="hits"],
  .list-date,
  .list-hits
) :is(a, span, time) {
  text-align: center;
}

.core1-content :is(.com-content-category, .category-list) table tbody tr {
  border-bottom: 1px solid color-mix(in srgb, var(--core1-border) 78%, transparent);
}

.core1-content :is(.com-content-category, .category-list) table tbody tr:last-child {
  border-bottom: 0;
}

@media (max-width: 575.98px) {
  .core1-content :is(.com-content-category, .category-list) table {
    min-width: 32rem;
  }
}

/* v1.0.37: style Joomla category table headers to match CORE1 module title headers. */
.core1-content :is(.com-content-category, .category-list) table thead th {
  color: var(--core1-heading);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  border-bottom: 1px solid var(--core1-accent-soft);
  padding-block: 0.75rem 0.65rem;
}

.core1-content :is(.com-content-category, .category-list) table thead th :is(a, span) {
  color: var(--core1-heading);
  font-weight: 800;
  text-decoration: none !important;
  text-underline-offset: 0;
}

.core1-content :is(.com-content-category, .category-list) table thead th :is(a, span):hover,
.core1-content :is(.com-content-category, .category-list) table thead th :is(a, span):focus {
  color: var(--core1-heading);
  text-decoration: none !important;
}

.core1-content :is(.com-content-category, .category-list) table thead th:is([id*="title"], [id*="date"], [id*="publish"], [id*="created"], [id*="modified"], :last-child) > :is(a, span),
.core1-content :is(.com-content-category, .category-list) table thead th:is([id*="title"], [id*="date"], [id*="publish"], [id*="created"], [id*="modified"], :last-child) {
  position: relative;
}

.core1-content :is(.com-content-category, .category-list) table thead th:is([id*="title"], [id*="date"], [id*="publish"], [id*="created"], [id*="modified"], :last-child) > :is(a, span) {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.core1-content :is(.com-content-category, .category-list) table thead th:is([id*="title"], [id*="date"], [id*="publish"], [id*="created"], [id*="modified"], :last-child) > :is(a, span)::before {
  content: "";
  inline-size: 0.52rem;
  block-size: 0.52rem;
  flex: 0 0 auto;
  background: linear-gradient(135deg, var(--core1-accent), var(--core1-accent-soft));
  border-radius: 2px;
  transform: rotate(45deg);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--core1-accent-soft) 34%, transparent);
}

.core1-content :is(.com-content-category, .category-list) table thead th:last-child > :is(a, span) {
  justify-content: center;
}

/* v1.0.38: give Joomla category table headings the same soft gradient treatment as CORE1 module headers.
   The gradient is limited to the table header row/cells only, keeping the article rows clean. */
.core1-content :is(.com-content-category, .category-list) table thead th {
  background: linear-gradient(135deg, color-mix(in srgb, var(--core1-primary-soft, var(--core1-green-3)) 78%, #fff), var(--core1-surface));
  border-top: 1px solid color-mix(in srgb, var(--core1-border) 70%, var(--core1-accent-soft));
  border-bottom: 1px solid color-mix(in srgb, var(--core1-border) 72%, var(--core1-accent));
  padding-block: 0.75rem;
}

.core1-content :is(.com-content-category, .category-list) table thead th:first-child {
  border-start-start-radius: calc(var(--core1-radius) * 0.8);
  border-end-start-radius: calc(var(--core1-radius) * 0.8);
}

.core1-content :is(.com-content-category, .category-list) table thead th:last-child {
  border-start-end-radius: calc(var(--core1-radius) * 0.8);
  border-end-end-radius: calc(var(--core1-radius) * 0.8);
}

.core1-content :is(.com-content-category, .category-list) table thead th + th {
  border-left: 0;
}

/* v1.0.40: keep Joomla article details/meta near the top, hide the redundant "Details" label, and style it as a compact CORE1 meta bar. */
.core1-content :is(.com-content-article, .item-page) :is(.article-info-term, .core1-article-info-heading) {
  display: none !important;
}

.core1-content :is(.com-content-article, .item-page) > :is(.article-info, dl.article-info, .com-content-article__info),
.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info).core1-article-details-top {
  margin: 0 0 1.25rem;
  padding: 0.55rem 0.75rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--core1-primary-soft, var(--core1-green-3)) 78%, #fff), var(--core1-surface));
  border: 1px solid color-mix(in srgb, var(--core1-border) 72%, var(--core1-accent-soft));
  border-radius: var(--core1-radius-lg);
  color: var(--core1-muted);
  font-size: 0.84rem;
  line-height: 1.35;
}

.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.85rem;
}

.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info) :is(dt, dd, li, span) {
  margin-block: 0;
}

.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info) dd {
  margin-inline-start: 0;
}

.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info) :is(dt, .createdby, .category-name, .published, .hits) {
  font-weight: 650;
  color: color-mix(in srgb, var(--core1-heading) 76%, var(--core1-muted));
}

.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info) :is(dd, li) + :is(dd, li) {
  margin-top: 0;
}

.core1-content :is(.com-content-article, .item-page) :is(.article-info, dl.article-info, .com-content-article__info) a {
  color: var(--core1-green-2);
  font-weight: 600;
}

/* v1.0.41: apply compact CORE1 article meta/details styling to article pages, category/blog articles, and other com_content item contexts. */
.core1-content :is(.article-info-term, .core1-article-info-heading) {
  display: none !important;
}

.core1-content :is(.article-info, dl.article-info, .com-content-article__info) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.75rem;
  width: 100%;
  margin: 0 0 1rem;
  padding: 0.45rem 0.65rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--core1-primary-soft, var(--core1-green-3)) 78%, #fff), var(--core1-surface));
  border: 1px solid color-mix(in srgb, var(--core1-border) 72%, var(--core1-accent-soft));
  border-radius: calc(var(--core1-radius-lg) * 0.85);
  color: var(--core1-muted);
  font-size: 0.8rem;
  line-height: 1.3;
}

.core1-content :is(.article-info, dl.article-info, .com-content-article__info) :is(dt, dd, li, span) {
  margin-block: 0 !important;
}

.core1-content :is(.article-info, dl.article-info, .com-content-article__info) dd {
  margin-inline-start: 0 !important;
}

.core1-content :is(.article-info, dl.article-info, .com-content-article__info) :is(dt, .createdby, .category-name, .published, .hits, .create, .modified, .parent-category-name) {
  font-weight: 650;
  color: color-mix(in srgb, var(--core1-heading) 76%, var(--core1-muted));
}

.core1-content :is(.article-info, dl.article-info, .com-content-article__info) a {
  color: var(--core1-green-2);
  font-weight: 650;
}

.core1-content :is(.article-info, dl.article-info, .com-content-article__info) a:hover,
.core1-content :is(.article-info, dl.article-info, .com-content-article__info) a:focus {
  color: var(--core1-heading);
}

.core1-content :is(.blog-item, .com-content-category-blog__item, .com-content-featured__item, .items-leading > div, .items-row > div, .item) > :is(.article-info, dl.article-info, .com-content-article__info) {
  margin-top: 0.35rem;
  margin-bottom: 0.85rem;
}

/* v1.0.42: polished category list/table styling to match the cleaner CORE1 table card layout. */
.core1-content :is(.com-content-category, .category-list) :is(.table-responsive, .com-content-category__items, .category) {
  overflow-x: auto;
}

.core1-content :is(.com-content-category, .category-list) table.category,
.core1-content :is(.com-content-category, .category-list) table.table,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] {
  width: 100% !important;
  max-width: 100%;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  background: var(--core1-surface);
  border: 1px solid color-mix(in srgb, var(--core1-border) 70%, #b8b8b8);
  border-radius: var(--core1-radius-lg);
  box-shadow: 0 0.75rem 1.8rem rgba(0, 0, 0, 0.04);
}

.core1-content :is(.com-content-category, .category-list) table.category thead,
.core1-content :is(.com-content-category, .category-list) table.table thead,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead {
  background: transparent;
}

.core1-content :is(.com-content-category, .category-list) table.category thead th,
.core1-content :is(.com-content-category, .category-list) table.table thead th,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th {
  background: linear-gradient(135deg, #f7f7f7 0%, #eeeeee 52%, #dedede 100%) !important;
  color: var(--core1-heading);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
  padding: 1rem 0.95rem;
  border-top: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--core1-border) 72%, #bcbcbc);
  border-left: 1px solid color-mix(in srgb, var(--core1-border) 60%, #d2d2d2);
  white-space: nowrap;
}

.core1-content :is(.com-content-category, .category-list) table.category thead th:first-child,
.core1-content :is(.com-content-category, .category-list) table.table thead th:first-child,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th:first-child {
  text-align: left;
  border-left: 0;
  border-start-start-radius: var(--core1-radius-lg);
}

.core1-content :is(.com-content-category, .category-list) table.category thead th:last-child,
.core1-content :is(.com-content-category, .category-list) table.table thead th:last-child,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th:last-child {
  border-start-end-radius: var(--core1-radius-lg);
}

.core1-content :is(.com-content-category, .category-list) table.category thead th :is(a, span),
.core1-content :is(.com-content-category, .category-list) table.table thead th :is(a, span),
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th :is(a, span) {
  color: var(--core1-heading);
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 0;
  font-weight: 800;
  text-decoration: none !important;
}

.core1-content :is(.com-content-category, .category-list) table thead th > :is(a, span)::before {
  content: none !important;
  display: none !important;
}

.core1-content :is(.com-content-category, .category-list) table.category tbody td,
.core1-content :is(.com-content-category, .category-list) table.table tbody td,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] tbody td {
  padding: 0.9rem 0.95rem;
  vertical-align: middle;
  border-top: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--core1-border) 78%, transparent);
  color: var(--core1-text);
  background: var(--core1-surface);
}

.core1-content :is(.com-content-category, .category-list) table.category tbody tr:last-child td,
.core1-content :is(.com-content-category, .category-list) table.table tbody tr:last-child td,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] tbody tr:last-child td {
  border-bottom: 0;
}

.core1-content :is(.com-content-category, .category-list) table.category tbody tr:hover td,
.core1-content :is(.com-content-category, .category-list) table.table tbody tr:hover td,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] tbody tr:hover td {
  background: color-mix(in srgb, var(--core1-primary-soft) 46%, var(--core1-surface));
}

.core1-content :is(.com-content-category, .category-list) table :is(th, td):first-child,
.core1-content :is(.com-content-category, .category-list) table :is(th[id*="title"], td[headers*="title"], .list-title) {
  text-align: left;
}

.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="cat"], td[headers*="category"], td.category, .list-category),
.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="date"], td[headers*="publish"], td[headers*="created"], td[headers*="modified"], .list-date),
.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="hits"], .list-hits),
.core1-content :is(.com-content-category, .category-list) table tbody td:not(:first-child) {
  text-align: center;
  white-space: nowrap;
}

.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="hits"], .list-hits) {
  width: 4.5rem;
}

.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="date"], td[headers*="publish"], td[headers*="created"], td[headers*="modified"], .list-date) {
  width: 9.5rem;
}

.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="cat"], td[headers*="category"], td.category, .list-category) {
  width: 10.5rem;
}

.core1-content :is(.com-content-category, .category-list) table tbody a {
  color: var(--core1-primary);
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.core1-content :is(.com-content-category, .category-list) table tbody a:hover,
.core1-content :is(.com-content-category, .category-list) table tbody a:focus {
  color: var(--core1-primary-alt);
}

@media (max-width: 767.98px) {
  .core1-content :is(.com-content-category, .category-list) table.category,
  .core1-content :is(.com-content-category, .category-list) table.table,
  .core1-content :is(.com-content-category, .category-list) table[class*="category"] {
    min-width: 42rem;
  }
}

/* v1.0.43: match Joomla category/list tables to CORE1 Article Tree component table styling. */
.core1-content :is(.com-content-category, .category-list) :is(.table-responsive, .com-content-category__items) {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

.core1-content :is(.com-content-category, .category-list) table.category,
.core1-content :is(.com-content-category, .category-list) table.table,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] {
  width: 100% !important;
  max-width: 100%;
  margin: 0;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--core1-surface) 97%, var(--core1-text) 3%);
  border: 1px solid color-mix(in srgb, var(--core1-text) 20%, transparent);
  border-radius: 0.75rem;
  box-shadow: none;
  font-size: 0.94rem;
}

.core1-content :is(.com-content-category, .category-list) table.category :is(th, td),
.core1-content :is(.com-content-category, .category-list) table.table :is(th, td),
.core1-content :is(.com-content-category, .category-list) table[class*="category"] :is(th, td) {
  padding: 0.7rem 0.85rem;
  vertical-align: middle;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--core1-text) 14%, transparent);
}

.core1-content :is(.com-content-category, .category-list) table.category thead th,
.core1-content :is(.com-content-category, .category-list) table.table thead th,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th {
  background: linear-gradient(135deg, color-mix(in srgb, var(--core1-text) 12%, transparent), transparent) !important;
  color: var(--core1-heading);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  text-decoration: none !important;
  white-space: nowrap;
}

.core1-content :is(.com-content-category, .category-list) table.category thead th:first-child,
.core1-content :is(.com-content-category, .category-list) table.table thead th:first-child,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th:first-child {
  border-start-start-radius: 0.75rem;
}

.core1-content :is(.com-content-category, .category-list) table.category thead th:last-child,
.core1-content :is(.com-content-category, .category-list) table.table thead th:last-child,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th:last-child {
  border-start-end-radius: 0.75rem;
}

.core1-content :is(.com-content-category, .category-list) table.category thead th :is(a, span),
.core1-content :is(.com-content-category, .category-list) table.table thead th :is(a, span),
.core1-content :is(.com-content-category, .category-list) table[class*="category"] thead th :is(a, span) {
  color: var(--core1-heading);
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  font-weight: 700;
  text-decoration: none !important;
}

.core1-content :is(.com-content-category, .category-list) table thead th > :is(a, span)::before {
  content: none !important;
  display: none !important;
}

.core1-content :is(.com-content-category, .category-list) table.category tbody tr:last-child td,
.core1-content :is(.com-content-category, .category-list) table.table tbody tr:last-child td,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] tbody tr:last-child td {
  border-bottom: 0;
}

.core1-content :is(.com-content-category, .category-list) table.category tbody tr:hover td,
.core1-content :is(.com-content-category, .category-list) table.table tbody tr:hover td,
.core1-content :is(.com-content-category, .category-list) table[class*="category"] tbody tr:hover td {
  background: color-mix(in srgb, var(--core1-text) 5%, transparent);
}

.core1-content :is(.com-content-category, .category-list) table :is(th[id*="title"], td[headers*="title"], .list-title, th:first-child, td:first-child) {
  text-align: left;
  width: auto;
}

.core1-content :is(.com-content-category, .category-list) table :is(td[headers*="cat"], td[headers*="category"], td.category, .list-category) {
  text-align: left;
  white-space: nowrap;
  width: 10.5rem;
}

.core1-content :is(.com-content-category, .category-list) table :is(
  th[id*="date"],
  th[id*="publish"],
  th[id*="created"],
  th[id*="modified"],
  th[id*="hits"],
  td[headers*="date"],
  td[headers*="publish"],
  td[headers*="created"],
  td[headers*="modified"],
  td[headers*="hits"],
  .list-date,
  .list-hits
) {
  text-align: center;
  white-space: nowrap;
}

.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="date"], td[headers*="publish"], td[headers*="created"], td[headers*="modified"], .list-date) {
  width: 9.5rem;
}

.core1-content :is(.com-content-category, .category-list) table tbody :is(td[headers*="hits"], .list-hits) {
  width: 4.5rem;
}

.core1-content :is(.com-content-category, .category-list) table tbody a {
  color: var(--core1-primary);
  font-weight: 650;
  text-decoration: none;
}

.core1-content :is(.com-content-category, .category-list) table tbody a:hover,
.core1-content :is(.com-content-category, .category-list) table tbody a:focus {
  color: var(--core1-primary-alt);
  text-decoration: underline;
}

.core1-content :is(.com-content-category, .category-list) :is(.com-content-category__description, .category-desc) {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid color-mix(in srgb, var(--core1-text) 14%, transparent);
  border-radius: 0.65rem;
  font-size: 0.92rem;
  opacity: 0.9;
}

@media (max-width: 767.98px) {
  .core1-content :is(.com-content-category, .category-list) table.category,
  .core1-content :is(.com-content-category, .category-list) table.table,
  .core1-content :is(.com-content-category, .category-list) table[class*="category"] {
    min-width: 42rem;
    font-size: 0.88rem;
  }

  .core1-content :is(.com-content-category, .category-list) table.category :is(th, td),
  .core1-content :is(.com-content-category, .category-list) table.table :is(th, td),
  .core1-content :is(.com-content-category, .category-list) table[class*="category"] :is(th, td) {
    padding: 0.6rem 0.65rem;
  }
}
