/* Hivemind Joomla 6 compatibility layer v1.0.8
   Cleaned final layer plus mobile/adaptive additions for Joomla 6.1.1.
   Reference geometry: 1050px wrapper, 800px content/header rotator, 200px right column.
   NOVO logo image is used as-is; no resampling or recompression is done here. */
html, body { min-height: 100%; }
body { margin: 0; padding: 0; font-size: 12px; }
body.dark { background: #000; color: #777; }
body#ff-optima, #ff-optima td { line-height: 135%; font-family: Optima, "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif; }
* { box-sizing: content-box; }
.wrapper { margin: 0 auto !important; width: 1050px !important; max-width: none !important; padding: 0 !important; position: relative; }
#top { height: 60px; }
#mainbody-top, #mainbody, #mainbody-bottom, #footer { width: 1050px !important; max-width: none !important; }
#mainbody-top3, #mainbody-bottom3 { width: 1050px !important; max-width: none !important; }
#mainbody-padding { display: block !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; width: 1050px !important; max-width: none !important; }
#mainbody-padding:after { content: ""; display: block; clear: both; }
#maincol { display: block !important; float: left !important; margin-right: -200px !important; width: 100% !important; max-width: none !important; padding: 0 !important; overflow: visible !important; }
#maincol-container { display: block !important; margin-right: 200px !important; padding: 0 25px !important; width: auto !important; max-width: none !important; overflow: visible !important; }
#sidecol { display: block !important; float: right !important; width: 200px !important; max-width: 200px !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; position: relative !important; z-index: 3 !important; }
#sidecol-padding { padding: 0 20px 10px 20px !important; width: 160px !important; max-width: 160px !important; overflow: visible !important; }
#sidecol .module, #sidecol .moduletable { width: 160px; max-width: 160px; overflow: visible; }
#sidecol img, #sidecol iframe, #sidecol object, #sidecol embed { max-width: 180px; height: auto; }
#sidecol img[src$="banner-l.png"] { max-width: 164px; width: 164px; }
#header { height: 85px; position: relative; z-index: 20; }
img#logo { width: 372px; height: 71px; position: absolute; left: 10px; top: 0; float: left; background: none !important; border: 0; }
#mod-search { height: 22px; width: 177px; float: right; margin-top: 17px; margin-right: 10px; }
#mod-search .moduletable, #mod-search form, #mod-search .search { margin: 0; padding: 0; }
#mod-search label, #mod-search .form-label { display: none !important; }
#mod-search input, #mod-search input.inputbox, #mod-search .form-control { padding: 2px 0 0 24px !important; overflow: hidden; width: 150px !important; height: 20px !important; font-size: 11px !important; border: 0 !important; background: none !important; color: #777; font-weight: normal; box-shadow: none !important; outline: 0; }
#accessibility .button { text-indent: 0 !important; background: none !important; color: #9b9b9b; font-family: Arial, sans-serif; font-weight: bold; line-height: 14px; text-align: center; }
#accessibility .button:before { content: "A"; }
#accessibility a.large .button:before { font-size: 13px; }
#accessibility a.default .button:before { font-size: 11px; }
#accessibility a.small .button:before { font-size: 9px; }
#accessibility a:hover .button { color: #fff; }
/* Joomla 4/5/6 menu module normalization under the original Hivemind menu CSS */
#horiz-menu { height: 30px; margin-right: 20px; float: right; margin-top: 20px; }
#horiz-menu2 { height: 30px; padding: 0 12px 0 12px; }
#horiz-menu ul, #horiz-menu ul.mod-menu, #horiz-menu ul.menu, #horiz-menu ul.menutop { list-style: none !important; margin: 0 !important; padding: 0 !important; background: none; }
#horiz-menu li, #horiz-menu .nav-item { display: block; float: left; margin: 0 !important; padding: 0 !important; position: relative; list-style: none !important; background: none; }
#horiz-menu a, #horiz-menu .nav-link, #horiz-menu span.separator { white-space: nowrap; display: block; float: left; height: 32px; line-height: 29px; padding: 0 17px; font-weight: normal; font-size: 100%; color: #999; text-decoration: none; border: 0; }
#horiz-menu a span, #horiz-menu .nav-link span { display: block; }
#horiz-menu .mod-menu__sub, #horiz-menu ul ul { display: none; position: absolute; left: 0; top: 33px; z-index: 2000; min-width: 165px; }
#horiz-menu li:hover > ul, #horiz-menu li:hover > .mod-menu__sub, #horiz-menu li:focus-within > ul, #horiz-menu li:focus-within > .mod-menu__sub { display: block; }
#horiz-menu ul ul li, #horiz-menu .mod-menu__sub li { float: none !important; width: 100%; display: block; }
#horiz-menu ul ul a, #horiz-menu .mod-menu__sub a, #horiz-menu ul ul .nav-link, #horiz-menu .mod-menu__sub .nav-link { float: none !important; width: 140px; height: 28px; line-height: 28px; padding: 0 14px; }
/* Breadcrumbs / pathway correction - final compact variant */
#pathway {
  height: 27px !important;
  line-height: 27px !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-position: 10px center !important;
}
#pathway:empty { display: none !important; }
#pathway nav,
#pathway .mod-breadcrumbs,
#pathway .breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#pathway ol.breadcrumb,
#pathway ul.breadcrumb,
#pathway ol,
#pathway ul {
  margin: 0 !important;
  padding: 0 0 0 42px !important;
  height: 27px !important;
  line-height: 27px !important;
  list-style: none !important;
}
#pathway li,
#pathway .breadcrumb-item {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 27px !important;
  line-height: 27px !important;
  vertical-align: top !important;
  background: none !important;
  list-style: none !important;
  color: #8d8d8d !important;
}
#pathway li:before,
#pathway li:after { display: none !important; content: none !important; }
#pathway a,
#pathway span {
  display: inline-block !important;
  height: 27px !important;
  line-height: 27px !important;
  color: #8d8d8d !important;
  text-decoration: none !important;
  font-size: 12px !important;
  vertical-align: top !important;
}
#pathway a:hover { color: #64A7E9 !important; }
#pathway .divider,
#pathway .divider-wrapper,
#pathway .visually-hidden,
#pathway svg { display: none !important; }

#showcase { width: 800px !important; max-width: 800px !important; overflow: hidden !important; margin: 0 0 10px 0 !important; }
#showcase .module, #showcase .moduletable { width: 800px !important; max-width: 800px !important; overflow: hidden !important; }
.fadein { position: relative; width: 800px !important; height: 240px !important; overflow: hidden !important; }
.fadein img { position: absolute; left: 0; top: 0; width: 800px !important; height: 240px !important; max-width: none !important; object-fit: cover; }
#body-padding { padding: 0 0 40px 0 !important; margin: 0 !important; width: 800px !important; max-width: 800px !important; overflow: visible !important; }
#body-padding > main, #body-padding .item-page, #body-padding .com-content-article, #body-padding .blog, #body-padding .category-list { max-width: 800px !important; color: #777; font-size: 12px; line-height: 1.35; }
#body-padding h1, #body-padding h2, #body-padding h3, #body-padding .page-header h1, #body-padding .page-header h2 { color: #777 !important; font-weight: normal !important; line-height: 1.25 !important; margin: 0 0 6px 0 !important; padding: 0 !important; text-shadow: none !important; }
#body-padding h1, #body-padding .page-header h1 { font-size: 18px !important; }
#body-padding h2, #body-padding .page-header h2 { font-size: 16px !important; }
#body-padding h3 { font-size: 13px !important; }
#body-padding .page-header, #body-padding .item-title, #body-padding .article-info, #body-padding .icons { margin: 0 0 6px 0 !important; padding: 0 !important; }
#body-padding p { margin-top: 0; }
#body-padding img, .item-page img, .com-content-article img { max-width: 800px !important; height: auto !important; }
#body-padding table { max-width: 800px !important; }
.hivemind-flags { display: block; width: 160px; line-height: 13px; margin-bottom: 15px; }
.hivemind-flags img { display: inline-block; margin: 0 2px 4px 0; vertical-align: top; }
#footer { margin-bottom: 10px; font-size: 11px; color: #777; }
#footer p { margin: 0 0 8px; }
.clr { clear: both; height: 0; overflow: hidden; }
/* common output of simple gallery/content plugins */
.foldergallery, .fg-gallery, .gallery, .sigplus-gallery, .joomla-gallery { max-width: 800px !important; }
.foldergallery img, .fg-gallery img, .gallery img, .sigplus-gallery img, .joomla-gallery img { height: auto; }
#smoothtop { height: 45px; width: 45px; border-radius: 50%; background: rgba(20,20,20,.7); border: 1px solid #333; position: fixed; right: 8px; bottom: 8px; opacity: 0; cursor: pointer; z-index: 10000; transition: opacity .2s ease; }
#smoothtop:before { content: ""; position: absolute; left: 14px; top: 17px; width: 15px; height: 15px; border-left: 2px solid #64A7E9; border-top: 2px solid #64A7E9; transform: rotate(45deg); }
@media (max-width: 1100px) { .wrapper, #mainbody-top, #mainbody, #mainbody-bottom, #footer { width: 1050px !important; } }


/* v1.0.7 clean install corrections */
body.has-right #maincol { display: block !important; float: left !important; margin-right: -200px !important; width: 100% !important; max-width: none !important; padding: 0 !important; overflow: visible !important; }
body.has-right #maincol-container { display: block !important; margin-right: 200px !important; padding: 0 25px !important; width: auto !important; max-width: none !important; overflow: visible !important; }
body.has-right #sidecol { display: block !important; float: right !important; width: 200px !important; max-width: 200px !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; position: relative !important; z-index: 3 !important; }
body.no-right #maincol { display: block !important; float: none !important; margin-right: 0 !important; width: 100% !important; max-width: none !important; padding: 0 !important; overflow: visible !important; }
body.no-right #maincol-container { display: block !important; margin-right: 0 !important; padding: 0 25px !important; width: auto !important; max-width: none !important; overflow: visible !important; }
body.no-right #sidecol { display: none !important; }

body.no-right #body-padding { width: 800px !important; max-width: 800px !important; }
body.no-right #body-padding img, body.no-right .item-page img, body.no-right .com-content-article img { max-width: 800px !important; }
body.no-right #body-padding table { max-width: 800px !important; }
body.has-right #body-padding > main,
body.has-right #body-padding .item-page,
body.has-right #body-padding .com-content-article,
body.has-right #body-padding .blog,
body.has-right #body-padding .category-list { max-width: 800px !important; }
body.no-right #body-padding > main,
body.no-right #body-padding .item-page,
body.no-right #body-padding .com-content-article,
body.no-right #body-padding .blog,
body.no-right #body-padding .category-list { max-width: 800px !important; }

/* The original reference footer is plain text on the black page, not a boxed module. */
#footer { width: 1050px !important; max-width: none !important; margin: 3px auto 12px auto !important; padding: 0 !important; text-align: center !important; font-size: 11px !important; line-height: 16px !important; color: #777 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#footer, #footer * { text-shadow: none !important; }
#footer .module,
#footer .moduletable,
#footer .moduletablemodule-style2,
#footer .custom,
#footer .module div,
#footer .moduletable div { background: transparent !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; width: auto !important; min-height: 0 !important; }
#footer p { margin: 0 !important; padding: 0 !important; text-align: center !important; }
#footer a { color: #4ca3e6 !important; text-decoration: none !important; }
#footer a:hover { color: #fff !important; }

/* Header position is the only rotator slot. It is not hardcoded; if no module is assigned, no empty rotator field is rendered. */
body.no-header #showcase { display: none !important; }
#showcase { clear: both; }


/* Exact requested dimensions: rotator 800px, content field 800px. */
#maincol-container { padding-left: 25px !important; padding-right: 25px !important; }
#showcase, #showcase .module, #showcase .moduletable,
#showcase .module > div, #showcase .module > div > div, #showcase .module > div > div > div,
#showcase .custom { width: 800px !important; max-width: 800px !important; overflow: hidden !important; margin-left: 0 !important; margin-right: 0 !important; }
#showcase .module { margin-bottom: 35px !important; }
#showcase .fadein { width: 800px !important; height: 240px !important; position: relative !important; overflow: hidden !important; }
#showcase .fadein img { width: 800px !important; height: 240px !important; max-width: none !important; object-fit: cover !important; }
#body-padding,
#body-padding > main,
#body-padding .item-page,
#body-padding .com-content-article,
#body-padding .blog,
#body-padding .category-list,
#body-padding .foldergallery,
#body-padding .fg-gallery,
#body-padding .gallery,
#body-padding .sigplus-gallery,
#body-padding .joomla-gallery { width: 800px !important; max-width: 800px !important; }
#body-padding img, #body-padding table, #body-padding iframe, #body-padding object, #body-padding embed { max-width: 800px !important; }

/* NOVO right banner module - neutral, no column geometry override */
#sidecol .novo-right-banner {
  display: block !important;
  width: 164px !important;
  max-width: 164px !important;
  margin: 18px auto 0 auto !important;
  padding: 0 !important;
  clear: both !important;
}
#sidecol .novo-right-banner img {
  display: block !important;
  width: 164px !important;
  max-width: 164px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  float: none !important;
}

/* NOVO right side menu - compact dark module box */
#sidecol .novo-sidebox,
#sidecol .moduletable.novo-sidebox,
#sidecol .module.novo-sidebox,
#sidecol .moduletable:has(ul.menu),
#sidecol .moduletable:has(ul.novo-side-menu) {
  display: block !important;
  width: 190px !important;
  box-sizing: border-box !important;
  margin: 0 0 18px 0 !important;
  padding: 13px 10px 13px 14px !important;
  background: #111 !important;
  background: linear-gradient(#151515, #0d0d0d) !important;
  overflow: visible !important;
  clear: both !important;
}
#sidecol ul.menu,
#sidecol ul.novo-side-menu {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#sidecol ul.menu > li,
#sidecol ul.novo-side-menu > li {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 0 0 31px !important;
  min-height: 22px !important;
  line-height: 22px !important;
  list-style: none !important;
  background: none !important;
}
#sidecol ul.menu > li::before,
#sidecol ul.novo-side-menu > li::before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: -8px !important;
  bottom: -8px !important;
  width: 1px !important;
  background: #272727 !important;
}
#sidecol ul.menu > li::after,
#sidecol ul.novo-side-menu > li::after {
  content: "" !important;
  position: absolute !important;
  left: 11px !important;
  top: 8px !important;
  width: 7px !important;
  height: 7px !important;
  background: #2d2d2d !important;
  border-radius: 50% !important;
}
#sidecol ul.menu > li > a,
#sidecol ul.novo-side-menu > li > a {
  display: block !important;
  color: #aaa !important;
  font-size: 12px !important;
  line-height: 22px !important;
  text-decoration: none !important;
  font-weight: normal !important;
}
#sidecol ul.menu > li > a:hover,
#sidecol ul.novo-side-menu > li > a:hover { color: #fff !important; }
#sidecol ul.menu > li.current > a,
#sidecol ul.menu > li.active > a,
#sidecol ul.novo-side-menu > li.current > a,
#sidecol ul.novo-side-menu > li.active > a {
  position: relative !important;
  display: block !important;
  height: 24px !important;
  line-height: 24px !important;
  margin: 0 0 0 -24px !important;
  padding: 0 12px 0 31px !important;
  color: #fff !important;
  font-weight: bold !important;
  border-radius: 14px !important;
  background: #252525 !important;
  background: linear-gradient(#3a3a3a, #1e1e1e) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14) !important;
}
#sidecol ul.menu > li.current > a::before,
#sidecol ul.menu > li.active > a::before,
#sidecol ul.novo-side-menu > li.current > a::before,
#sidecol ul.novo-side-menu > li.active > a::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 5px !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #0c0c0c !important;
  border: 1px solid #555 !important;
  box-sizing: border-box !important;
}
#sidecol ul.menu > li.current > a::after,
#sidecol ul.menu > li.active > a::after,
#sidecol ul.novo-side-menu > li.current > a::after,
#sidecol ul.novo-side-menu > li.active > a::after {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 9px !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 5px solid #8f8f8f !important;
  border-top: 4px solid transparent !important;
  border-bottom: 4px solid transparent !important;
}
#sidecol ul.menu > li.current::after,
#sidecol ul.menu > li.active::after,
#sidecol ul.novo-side-menu > li.current::after,
#sidecol ul.novo-side-menu > li.active::after { display: none !important; }



/* ==========================================================
   Hivemind v1.0.8 mobile/adaptive layer
   Desktop reference geometry remains unchanged above 1100px.
   ========================================================== */

/* Utility module classes for Joomla module settings.
   In module settings use CSS/module class: hide-mobile or show-mobile-only. */
.show-mobile-only,
.module.show-mobile-only,
.moduletable.show-mobile-only,
.moduleshow-mobile-only,
.moduletableshow-mobile-only {
  display: none !important;
}

/* Desktop social icons in header */
#hm-social-desktop {
  position: absolute;
  right: 22px;
  top: 24px;
  z-index: 35;
  min-height: 22px;
}
#header.has-social #horiz-menu {
  margin-right: 112px;
}
.hm-social-icons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.hm-social-icons a {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  color: #9a9a9a;
  font-size: 13px;
  line-height: 22px;
  text-decoration: none !important;
  border-radius: 50%;
  background: #151515;
  background: linear-gradient(#2b2b2b, #101010);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}
.hm-social-icons a:hover,
.hm-social-icons a:focus {
  color: #ffffff;
  background: linear-gradient(#3a3a3a, #1d1d1d);
  outline: none;
}

/* Mobile nav is hidden on desktop */
#hm-mobile-nav {
  display: none;
}

/* Safer media handling inside articles/galleries */
#body-padding video,
#body-padding iframe,
#body-padding object,
#body-padding embed {
  max-width: 100% !important;
}

/* Tablet: keep right column if enabled, shrink 800px content area proportionally. */
@media (max-width: 1100px) and (min-width: 769px) {
  .wrapper,
  #mainbody-top,
  #mainbody,
  #mainbody-bottom,
  #footer,
  #mainbody-top3,
  #mainbody-bottom3,
  #mainbody-padding {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  body.has-right #maincol-container {
    margin-right: 200px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  body.no-right #maincol-container {
    margin-right: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  body.has-right #showcase,
  body.has-right #showcase .module,
  body.has-right #showcase .moduletable,
  body.has-right #showcase .module > div,
  body.has-right #showcase .module > div > div,
  body.has-right #showcase .module > div > div > div,
  body.has-right #showcase .custom,
  body.has-right #body-padding,
  body.has-right #body-padding > main,
  body.has-right #body-padding .item-page,
  body.has-right #body-padding .com-content-article,
  body.has-right #body-padding .blog,
  body.has-right #body-padding .category-list,
  body.has-right #body-padding .foldergallery,
  body.has-right #body-padding .fg-gallery,
  body.has-right #body-padding .gallery,
  body.has-right #body-padding .sigplus-gallery,
  body.has-right #body-padding .joomla-gallery {
    width: min(800px, calc(100vw - 250px)) !important;
    max-width: min(800px, calc(100vw - 250px)) !important;
  }

  body.no-right #showcase,
  body.no-right #showcase .module,
  body.no-right #showcase .moduletable,
  body.no-right #showcase .module > div,
  body.no-right #showcase .module > div > div,
  body.no-right #showcase .module > div > div > div,
  body.no-right #showcase .custom,
  body.no-right #body-padding,
  body.no-right #body-padding > main,
  body.no-right #body-padding .item-page,
  body.no-right #body-padding .com-content-article,
  body.no-right #body-padding .blog,
  body.no-right #body-padding .category-list,
  body.no-right #body-padding .foldergallery,
  body.no-right #body-padding .fg-gallery,
  body.no-right #body-padding .gallery,
  body.no-right #body-padding .sigplus-gallery,
  body.no-right #body-padding .joomla-gallery {
    width: min(800px, calc(100vw - 50px)) !important;
    max-width: min(800px, calc(100vw - 50px)) !important;
  }

  #showcase .fadein,
  #showcase .fadein img {
    width: 100% !important;
    max-width: 100% !important;
  }

  #body-padding img,
  #body-padding table,
  #body-padding iframe,
  #body-padding object,
  #body-padding embed {
    max-width: 100% !important;
  }
}

/* Phone and narrow tablet layout. */
@media (max-width: 768px) {
  html, body {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    font-size: 13px;
  }

  .wrapper,
  #mainbody-top,
  #mainbody,
  #mainbody-bottom,
  #footer,
  #mainbody-top3,
  #mainbody-bottom3,
  #mainbody-padding {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #top {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
  }

  #mod-search {
    float: left !important;
    margin-top: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #accessibility {
    float: right !important;
    margin-top: 8px !important;
    margin-right: 4px !important;
  }

  #mainbody-top,
  #mainbody-bottom,
  #mainbody-top2,
  #mainbody-bottom2,
  #mainbody-top3,
  #mainbody-bottom3 {
    background-size: 100% auto !important;
  }

  #header {
    height: auto !important;
    min-height: 88px !important;
    padding: 0 0 8px 0 !important;
    position: relative !important;
  }

  img#logo {
    position: relative !important;
    display: block !important;
    left: 10px !important;
    top: 8px !important;
    width: min(372px, calc(100vw - 20px)) !important;
    height: auto !important;
    max-width: calc(100vw - 20px) !important;
  }

  #horiz-menu,
  #hm-social-desktop {
    display: none !important;
  }

  #hm-mobile-nav {
    display: block !important;
    clear: both !important;
    padding: 8px 12px 10px 12px !important;
    border-top: 1px solid #202020;
  }

  .hm-mobile-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    cursor: pointer !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: bold !important;
    font-family: Arial, sans-serif !important;
    text-transform: lowercase !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(#2d2d2d, #111) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .hm-mobile-toggle i {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .hm-mobile-panel {
    display: none !important;
    width: min(340px, calc(100vw - 24px)) !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    background: #111 !important;
    background: linear-gradient(#181818, #0d0d0d) !important;
    border: 1px solid #2b2b2b !important;
    border-radius: 5px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.45) !important;
    overflow: hidden !important;
  }

  body.hm-mobile-open .hm-mobile-panel {
    display: block !important;
  }

  .hm-mobile-panel ul,
  .hm-mobile-panel ul.menu,
  .hm-mobile-panel ul.mod-menu {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .hm-mobile-panel li,
  .hm-mobile-panel .nav-item {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
    border-bottom: 1px solid #242424 !important;
  }

  .hm-mobile-panel li:last-child,
  .hm-mobile-panel .nav-item:last-child {
    border-bottom: 0 !important;
  }

  .hm-mobile-panel a,
  .hm-mobile-panel .nav-link,
  .hm-mobile-panel span.separator {
    display: block !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    color: #d6d6d6 !important;
    font-size: 13px !important;
    line-height: 18px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    background: transparent !important;
  }

  .hm-mobile-panel li.active > a,
  .hm-mobile-panel li.current > a,
  .hm-mobile-panel a:hover,
  .hm-mobile-panel a:focus {
    color: #fff !important;
    background: linear-gradient(#3a3a3a, #1d1d1d) !important;
  }

  .hm-mobile-social {
    padding: 10px 14px !important;
    border-top: 1px solid #242424 !important;
  }

  .hm-mobile-social .hm-social-icons {
    justify-content: flex-start !important;
  }

  #pathway {
    margin-bottom: 12px !important;
  }

  #pathway ol.breadcrumb,
  #pathway ul.breadcrumb,
  #pathway ol,
  #pathway ul {
    padding-left: 42px !important;
  }

  #maincol,
  body.has-right #maincol,
  body.no-right #maincol {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  #maincol-container,
  body.has-right #maincol-container,
  body.no-right #maincol-container {
    display: block !important;
    width: auto !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: visible !important;
  }

  #showcase,
  #showcase .module,
  #showcase .moduletable,
  #showcase .module > div,
  #showcase .module > div > div,
  #showcase .module > div > div > div,
  #showcase .custom,
  #body-padding,
  #body-padding > main,
  #body-padding .item-page,
  #body-padding .com-content-article,
  #body-padding .blog,
  #body-padding .category-list,
  #body-padding .foldergallery,
  #body-padding .fg-gallery,
  #body-padding .gallery,
  #body-padding .sigplus-gallery,
  #body-padding .joomla-gallery {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.hm-mobile-header-hide #showcase {
    display: none !important;
  }

  #showcase .module {
    margin-bottom: 18px !important;
  }

  #showcase .fadein {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 10 / 3 !important;
    min-height: 120px !important;
  }

  #showcase .fadein img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  #body-padding {
    padding-bottom: 24px !important;
  }

  #body-padding h1,
  #body-padding .page-header h1 { font-size: 20px !important; }
  #body-padding h2,
  #body-padding .page-header h2 { font-size: 18px !important; }
  #body-padding h3 { font-size: 15px !important; }

  #body-padding img,
  #body-padding iframe,
  #body-padding video,
  #body-padding object,
  #body-padding embed,
  #body-padding table {
    max-width: 100% !important;
  }

  #body-padding table {
    display: block !important;
    overflow-x: auto !important;
  }

  #sidecol,
  body.has-right #sidecol {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 12px 18px 12px !important;
    box-sizing: border-box !important;
  }

  body.hm-mobile-right-hide #sidecol {
    display: none !important;
  }

  #sidecol-padding {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #sidecol .module,
  #sidecol .moduletable,
  #sidecol .novo-sidebox,
  #sidecol .moduletable.novo-sidebox,
  #sidecol .module.novo-sidebox,
  #sidecol .moduletable:has(ul.menu),
  #sidecol .moduletable:has(ul.novo-side-menu) {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #sidecol .novo-right-banner {
    margin: 18px auto 0 auto !important;
  }

  #footer {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  .hide-mobile,
  .module.hide-mobile,
  .moduletable.hide-mobile,
  .modulehide-mobile,
  .moduletablehide-mobile,
  [class~="hide-mobile"] {
    display: none !important;
  }

  .show-mobile-only,
  .module.show-mobile-only,
  .moduletable.show-mobile-only,
  .moduleshow-mobile-only,
  .moduletableshow-mobile-only,
  [class~="show-mobile-only"] {
    display: block !important;
  }
}

@media (max-width: 480px) {
  #top {
    height: auto !important;
    min-height: 34px !important;
  }

  #mod-search {
    width: 177px !important;
  }

  #accessibility {
    display: none !important;
  }

  #header {
    min-height: 76px !important;
  }

  img#logo {
    width: min(320px, calc(100vw - 20px)) !important;
  }

  .hm-mobile-panel {
    width: calc(100vw - 24px) !important;
  }
}

/* ========================================================================
   Hivemind v1.0.7 Joomla Smart Search correction and result styling
   ======================================================================== */
#mainbody .com-finder,
#mainbody .finder,
#mainbody .search,
#mainbody .com-search {
  display: block !important;
  width: 100% !important;
  max-width: 800px !important;
  overflow: visible !important;
  line-height: 1.45 !important;
}

#mainbody .com-finder form,
#mainbody .finder form,
#mainbody .search form,
#mainbody .com-search form {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 12px 0 18px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#mainbody .com-finder fieldset,
#mainbody .finder fieldset,
#mainbody .search fieldset,
#mainbody .com-search fieldset {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 10px 0 16px 0 !important;
  padding: 10px 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid #252525 !important;
  border-bottom: 1px solid #252525 !important;
}

#mainbody .com-finder legend,
#mainbody .finder legend,
#mainbody .search legend,
#mainbody .com-search legend {
  display: block !important;
  width: auto !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  color: #888 !important;
  font-size: 13px !important;
  line-height: 20px !important;
  border: 0 !important;
}

#mainbody .com-finder label,
#mainbody .finder label,
#mainbody .search label,
#mainbody .com-search label {
  display: inline-block !important;
  margin: 0 8px 6px 0 !important;
  padding: 0 !important;
  color: #aaa !important;
  line-height: 24px !important;
  vertical-align: middle !important;
}

#mainbody .com-finder input[type="text"],
#mainbody .finder input[type="text"],
#mainbody .search input[type="text"],
#mainbody .com-search input[type="text"],
#mainbody .com-finder input[type="search"],
#mainbody .finder input[type="search"],
#mainbody .search input[type="search"],
#mainbody .com-search input[type="search"] {
  display: inline-block !important;
  width: 250px !important;
  max-width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  box-sizing: border-box !important;
  margin: 0 6px 8px 0 !important;
  padding: 3px 7px !important;
  color: #111 !important;
  background: #f5f5f5 !important;
  border: 1px solid #999 !important;
  border-radius: 2px !important;
  font-size: 13px !important;
  line-height: 18px !important;
  vertical-align: middle !important;
}

#mainbody .com-finder button,
#mainbody .finder button,
#mainbody .search button,
#mainbody .com-search button,
#mainbody .com-finder .btn,
#mainbody .finder .btn,
#mainbody .search .btn,
#mainbody .com-search .btn {
  display: inline-block !important;
  min-height: 24px !important;
  box-sizing: border-box !important;
  margin: 0 4px 8px 0 !important;
  padding: 3px 9px !important;
  color: #111 !important;
  background: #eee !important;
  border: 1px solid #aaa !important;
  border-radius: 2px !important;
  font-size: 13px !important;
  line-height: 18px !important;
  font-weight: bold !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

#mainbody .com-finder button:hover,
#mainbody .finder button:hover,
#mainbody .search button:hover,
#mainbody .com-search button:hover,
#mainbody .com-finder .btn:hover,
#mainbody .finder .btn:hover,
#mainbody .search .btn:hover,
#mainbody .com-search .btn:hover {
  background: #fff !important;
}

#mainbody .com-finder .control-group,
#mainbody .finder .control-group,
#mainbody .search .control-group,
#mainbody .com-search .control-group,
#mainbody .com-finder .form-group,
#mainbody .finder .form-group,
#mainbody .search .form-group,
#mainbody .com-search .form-group {
  display: block !important;
  height: auto !important;
  min-height: 24px !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clear: both !important;
}

#mainbody .com-finder .controls,
#mainbody .finder .controls,
#mainbody .search .controls,
#mainbody .com-search .controls {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

#mainbody .com-finder select,
#mainbody .finder select,
#mainbody .search select,
#mainbody .com-search select {
  min-height: 24px !important;
  margin: 0 6px 8px 0 !important;
  padding: 2px 4px !important;
  color: #111 !important;
  background: #f5f5f5 !important;
  border: 1px solid #999 !important;
  font-size: 13px !important;
  line-height: 18px !important;
}

/* Smart Search result list */
#mainbody .com-finder__results,
#mainbody .finder-results,
#mainbody .search-results,
#mainbody .result-list,
#mainbody ol.search-results,
#mainbody ul.search-results {
  display: block !important;
  margin: 16px 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-top: 1px solid #252525 !important;
}

#mainbody .com-finder__result,
#mainbody .finder-result,
#mainbody .result,
#mainbody .search-results > li,
#mainbody .result-list > li {
  display: block !important;
  margin: 0 !important;
  padding: 13px 0 14px 0 !important;
  border-bottom: 1px solid #222 !important;
  background: transparent !important;
}

#mainbody .result__title,
#mainbody .result-title,
#mainbody .search-results .result-title,
#mainbody .com-finder__result-title,
#mainbody .finder-result__title {
  display: block !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  font-size: 19px !important;
  line-height: 23px !important;
  font-weight: normal !important;
}

#mainbody .result__title a,
#mainbody .result-title a,
#mainbody .search-results .result-title a,
#mainbody .com-finder__result-title a,
#mainbody .finder-result__title a {
  color: #4aa6ee !important;
  text-decoration: none !important;
}

#mainbody .result__title a:hover,
#mainbody .result-title a:hover,
#mainbody .search-results .result-title a:hover,
#mainbody .com-finder__result-title a:hover,
#mainbody .finder-result__title a:hover {
  color: #8dccff !important;
  text-decoration: underline !important;
}

#mainbody .result__url,
#mainbody .result-url,
#mainbody .search-results .result-url,
#mainbody .com-finder__result-url,
#mainbody .finder-result__url {
  display: block !important;
  margin: 0 0 7px 0 !important;
  padding: 0 !important;
  color: #555 !important;
  font-size: 12px !important;
  line-height: 18px !important;
  word-break: break-word !important;
}

#mainbody .result__description,
#mainbody .result-text,
#mainbody .search-results .result-text,
#mainbody .com-finder__result-text,
#mainbody .finder-result__description {
  display: block !important;
  margin: 0 0 7px 0 !important;
  padding: 0 !important;
  color: #898989 !important;
  font-size: 13px !important;
  line-height: 18px !important;
}

#mainbody .result__taxonomy,
#mainbody .result-taxonomy,
#mainbody .result-category,
#mainbody .result-created,
#mainbody .search-results .result-category,
#mainbody .search-results .result-created,
#mainbody .com-finder__result-taxonomy {
  display: block !important;
  margin: 5px 0 0 0 !important;
  padding: 0 !important;
  color: #686868 !important;
  font-size: 12px !important;
  line-height: 17px !important;
}

#mainbody .com-finder__explained,
#mainbody .com-finder__results-count,
#mainbody .searchintro,
#mainbody .counter,
#mainbody .pagination {
  color: #777 !important;
  font-size: 13px !important;
  line-height: 19px !important;
  margin: 10px 0 !important;
}

#mainbody mark,
#mainbody .highlight,
#mainbody span.highlight {
  color: #111 !important;
  background: #e2dd76 !important;
  padding: 0 2px !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  #mainbody .com-finder input[type="text"],
  #mainbody .finder input[type="text"],
  #mainbody .search input[type="text"],
  #mainbody .com-search input[type="text"],
  #mainbody .com-finder input[type="search"],
  #mainbody .finder input[type="search"],
  #mainbody .search input[type="search"],
  #mainbody .com-search input[type="search"] {
    width: 100% !important;
    margin-right: 0 !important;
  }

  #mainbody .com-finder button,
  #mainbody .finder button,
  #mainbody .search button,
  #mainbody .com-search button,
  #mainbody .com-finder .btn,
  #mainbody .finder .btn,
  #mainbody .search .btn,
  #mainbody .com-search .btn {
    margin-top: 4px !important;
  }

  #mainbody .result__title,
  #mainbody .result-title,
  #mainbody .search-results .result-title,
  #mainbody .com-finder__result-title,
  #mainbody .finder-result__title {
    font-size: 17px !important;
    line-height: 22px !important;
  }
}


/* ==========================================================
   Hivemind v1.0.9 theme switcher, favicon settings and light-theme integration
   ========================================================== */
#hm-theme-switcher {
  position: absolute;
  right: 104px;
  top: 16px;
  z-index: 45;
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: Arial, sans-serif;
  font-size: 10px;
  line-height: 16px;
}
#hm-theme-switcher .hm-theme-button {
  display: inline-block;
  min-width: 36px;
  height: 16px;
  line-height: 16px;
  padding: 0 7px;
  border-radius: 9px;
  text-align: center;
  text-transform: lowercase;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
body.dark #hm-theme-switcher .hm-theme-button {
  color: #888;
  background: linear-gradient(#242424,#101010);
  border: 1px solid #2a2a2a;
}
body.dark #hm-theme-switcher .hm-theme-button:hover,
body.dark #hm-theme-switcher .hm-theme-button.active {
  color: #fff;
  background: linear-gradient(#3a3a3a,#1e1e1e);
}
body.light #hm-theme-switcher .hm-theme-button {
  color: #777;
  background: linear-gradient(#f8f8f8,#e3e3e3);
  border: 1px solid #d2d2d2;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
body.light #hm-theme-switcher .hm-theme-button:hover,
body.light #hm-theme-switcher .hm-theme-button.active {
  color: #2C68A6;
  background: linear-gradient(#fff,#ececec);
}

/* Light theme corrections for Joomla 6 compatibility layer */
body.light { background: #EFF2F3 !important; color: #555 !important; }
body.light #top { color: #777; }
body.light #accessibility .button { color: #777; }
body.light #accessibility a:hover .button { color: #2C68A6; }
body.light #body-padding,
body.light #body-padding > main,
body.light #body-padding .item-page,
body.light #body-padding .com-content-article,
body.light #body-padding .blog,
body.light #body-padding .category-list { color: #555 !important; }
body.light #body-padding h1,
body.light #body-padding h2,
body.light #body-padding h3,
body.light #body-padding .page-header h1,
body.light #body-padding .page-header h2 { color: #555 !important; }
body.light #footer { color: #777 !important; }
body.light #footer a { color: #2C68A6 !important; }
body.light #footer a:hover { color: #000 !important; }
body.light #pathway li,
body.light #pathway .breadcrumb-item,
body.light #pathway a,
body.light #pathway span { color: #777 !important; }
body.light #pathway a:hover { color: #2C68A6 !important; }
body.light #horiz-menu a,
body.light #horiz-menu .nav-link,
body.light #horiz-menu span.separator { color: #666; }
body.light #horiz-menu a:hover,
body.light #horiz-menu .nav-link:hover { color: #222; }

/* Light right side menu */
body.light #sidecol .novo-sidebox,
body.light #sidecol .moduletable.novo-sidebox,
body.light #sidecol .module.novo-sidebox,
body.light #sidecol .moduletable:has(ul.menu),
body.light #sidecol .moduletable:has(ul.novo-side-menu) {
  background: #f7f7f7 !important;
  background: linear-gradient(#ffffff,#f0f0f0) !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
}
body.light #sidecol ul.menu > li::before,
body.light #sidecol ul.novo-side-menu > li::before { background: #d5d5d5 !important; }
body.light #sidecol ul.menu > li::after,
body.light #sidecol ul.novo-side-menu > li::after { background: #d0d0d0 !important; }
body.light #sidecol ul.menu > li > a,
body.light #sidecol ul.novo-side-menu > li > a { color: #555 !important; }
body.light #sidecol ul.menu > li > a:hover,
body.light #sidecol ul.novo-side-menu > li > a:hover { color: #2C68A6 !important; }
body.light #sidecol ul.menu > li.current > a,
body.light #sidecol ul.menu > li.active > a,
body.light #sidecol ul.novo-side-menu > li.current > a,
body.light #sidecol ul.novo-side-menu > li.active > a {
  color: #222 !important;
  background: #f3f3f3 !important;
  background: linear-gradient(#ffffff,#dedede) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}
body.light #sidecol ul.menu > li.current > a::before,
body.light #sidecol ul.menu > li.active > a::before,
body.light #sidecol ul.novo-side-menu > li.current > a::before,
body.light #sidecol ul.novo-side-menu > li.active > a::before {
  background: #fff !important;
  border-color: #bbb !important;
}
body.light #sidecol ul.menu > li.current > a::after,
body.light #sidecol ul.menu > li.active > a::after,
body.light #sidecol ul.novo-side-menu > li.current > a::after,
body.light #sidecol ul.novo-side-menu > li.active > a::after { border-left-color: #777 !important; }

/* Light social icons */
body.light .hm-social-icons a {
  color: #777;
  background: #f3f3f3;
  background: linear-gradient(#fff,#dfdfdf);
  border: 1px solid #d2d2d2;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
body.light .hm-social-icons a:hover,
body.light .hm-social-icons a:focus {
  color: #2C68A6;
  background: linear-gradient(#fff,#ececec);
}

/* Light Smart Search */
body.light #mainbody .com-finder fieldset,
body.light #mainbody .finder fieldset,
body.light #mainbody .search fieldset,
body.light #mainbody .com-search fieldset {
  border-top-color: #e1e1e1 !important;
  border-bottom-color: #e1e1e1 !important;
}
body.light #mainbody .com-finder legend,
body.light #mainbody .finder legend,
body.light #mainbody .search legend,
body.light #mainbody .com-search legend,
body.light #mainbody .com-finder label,
body.light #mainbody .finder label,
body.light #mainbody .search label,
body.light #mainbody .com-search label { color: #555 !important; }
body.light #mainbody .com-finder__results,
body.light #mainbody .finder-results,
body.light #mainbody .search-results,
body.light #mainbody .result-list,
body.light #mainbody ol.search-results,
body.light #mainbody ul.search-results { border-top-color: #e1e1e1 !important; }
body.light #mainbody .com-finder__result,
body.light #mainbody .finder-result,
body.light #mainbody .result,
body.light #mainbody .search-results > li,
body.light #mainbody .result-list > li { border-bottom-color: #e1e1e1 !important; }
body.light #mainbody .result__title a,
body.light #mainbody .result-title a,
body.light #mainbody .search-results .result-title a,
body.light #mainbody .com-finder__result-title a,
body.light #mainbody .finder-result__title a { color: #2C68A6 !important; }
body.light #mainbody .result__title a:hover,
body.light #mainbody .result-title a:hover,
body.light #mainbody .search-results .result-title a:hover,
body.light #mainbody .com-finder__result-title a:hover,
body.light #mainbody .finder-result__title a:hover { color: #000 !important; }
body.light #mainbody .result__url,
body.light #mainbody .result-url,
body.light #mainbody .search-results .result-url,
body.light #mainbody .com-finder__result-url,
body.light #mainbody .finder-result__url { color: #999 !important; }
body.light #mainbody .result__description,
body.light #mainbody .result-text,
body.light #mainbody .search-results .result-text,
body.light #mainbody .com-finder__result-text,
body.light #mainbody .finder-result__description { color: #555 !important; }
body.light #mainbody .result__taxonomy,
body.light #mainbody .result-taxonomy,
body.light #mainbody .result-category,
body.light #mainbody .result-created,
body.light #mainbody .search-results .result-category,
body.light #mainbody .search-results .result-created,
body.light #mainbody .com-finder__result-taxonomy,
body.light #mainbody .com-finder__explained,
body.light #mainbody .com-finder__results-count,
body.light #mainbody .searchintro,
body.light #mainbody .counter,
body.light #mainbody .pagination { color: #777 !important; }
body.light #mainbody mark,
body.light #mainbody .highlight,
body.light #mainbody span.highlight { color: #111 !important; background: #fff59a !important; }

/* Light mobile navigation */
@media (max-width: 768px) {
  body.light #hm-mobile-nav { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #f6f6f6; }
  body.light .hm-mobile-toggle { color: #333; background: linear-gradient(#fff,#e4e4e4); border: 1px solid #ccc; }
  body.light .hm-mobile-panel { background: #f7f7f7; border-color: #d8d8d8; }
  body.light #hm-mobile-panel ul.menu > li > a,
  body.light #hm-mobile-panel ul.mod-menu > li > a,
  body.light #hm-mobile-panel .nav-item > a,
  body.light #hm-mobile-panel a { color: #333 !important; border-bottom-color: #e4e4e4 !important; }
  body.light #hm-mobile-panel li.active > a,
  body.light #hm-mobile-panel li.current > a { color: #2C68A6 !important; background: linear-gradient(#fff,#eaeaea) !important; }
  #hm-theme-switcher { right: 10px; top: 10px; }
}


/* ==========================================================
   Hivemind v1.0.9 right-column style selector
   ========================================================== */
#hm-theme-switcher {
  display: none !important;
}
#sidecol #hm-style-selector,
#sidecol .hm-style-selector {
  display: block !important;
  width: 150px !important;
  margin: 0 auto 22px auto !important;
  padding: 8px 6px 9px 6px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 14px !important;
  clear: both !important;
}
#sidecol #hm-style-selector .hm-style-title,
#sidecol .hm-style-selector .hm-style-title {
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
  font-weight: bold !important;
  color: #8a8a8a !important;
  line-height: 14px !important;
}
#sidecol #hm-style-selector .hm-style-links,
#sidecol .hm-style-selector .hm-style-links {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 14px !important;
}
#sidecol #hm-style-selector .hm-style-link,
#sidecol .hm-style-selector .hm-style-link {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #64A7E9 !important;
  font-size: 11px !important;
  font-weight: normal !important;
  text-decoration: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-transform: none !important;
}
#sidecol #hm-style-selector .hm-style-link:hover,
#sidecol .hm-style-selector .hm-style-link:hover,
#sidecol #hm-style-selector .hm-style-link.active,
#sidecol .hm-style-selector .hm-style-link.active {
  color: #ffffff !important;
  text-decoration: underline !important;
}
#sidecol #hm-style-selector .hm-style-sep,
#sidecol .hm-style-selector .hm-style-sep {
  display: inline !important;
  padding: 0 4px !important;
  color: #666 !important;
}
body.light #sidecol #hm-style-selector,
body.light #sidecol .hm-style-selector {
  color: #777 !important;
}
body.light #sidecol #hm-style-selector .hm-style-title,
body.light #sidecol .hm-style-selector .hm-style-title {
  color: #777 !important;
}
body.light #sidecol #hm-style-selector .hm-style-link,
body.light #sidecol .hm-style-selector .hm-style-link {
  color: #2C68A6 !important;
}
body.light #sidecol #hm-style-selector .hm-style-link:hover,
body.light #sidecol .hm-style-selector .hm-style-link:hover,
body.light #sidecol #hm-style-selector .hm-style-link.active,
body.light #sidecol .hm-style-selector .hm-style-link.active {
  color: #000000 !important;
}

@media (max-width: 767px) {
  #sidecol #hm-style-selector,
  #sidecol .hm-style-selector {
    width: 100% !important;
    max-width: 260px !important;
    margin: 12px auto 18px auto !important;
    text-align: center !important;
  }
}

/* ==========================================================
   Hivemind v1.0.12 final light theme and layout corrections
   ========================================================== */

/* Align the old sliced top/bottom frame with the bordered main body. */
@media (min-width: 769px) {
  #mainbody-top,
  #mainbody-bottom {
    width: 1052px !important;
    max-width: none !important;
    margin-left: -1px !important;
  }
  #mainbody-top3,
  #mainbody-bottom3 {
    width: 1052px !important;
    max-width: none !important;
  }
}

/* Optional mobile breadcrumbs hiding from template settings. */
@media (max-width: 767px) {
  body.hm-mobile-breadcrumbs-hide #pathway {
    display: none !important;
  }
}

/* Light logo is a transparent PNG with dark text; keep dimensions stable. */
body.light img#logo {
  background: none !important;
}

/* Right-column style selector: centered title and a single rounded switch. */
#sidecol #hm-style-selector,
#sidecol .hm-style-selector {
  width: 150px !important;
  margin: 0 auto 22px auto !important;
  padding: 8px 5px 9px 5px !important;
  text-align: center !important;
}
#sidecol #hm-style-selector .hm-style-title,
#sidecol .hm-style-selector .hm-style-title {
  display: block !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-weight: bold !important;
  line-height: 14px !important;
}
#sidecol #hm-style-selector .hm-style-links,
#sidecol .hm-style-selector .hm-style-links {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 24px !important;
  min-width: 118px !important;
  margin: 0 auto !important;
  padding: 0 8px !important;
  line-height: 24px !important;
  border-radius: 15px !important;
  background: linear-gradient(#353535, #171717) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(0,0,0,0.35) !important;
  box-sizing: border-box !important;
}
#sidecol #hm-style-selector .hm-style-link,
#sidecol .hm-style-selector .hm-style-link {
  display: inline-block !important;
  height: 22px !important;
  line-height: 22px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  color: #b7b7b7 !important;
  font-size: 11px !important;
  text-decoration: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-weight: normal !important;
}
#sidecol #hm-style-selector .hm-style-link:hover,
#sidecol .hm-style-selector .hm-style-link:hover,
#sidecol #hm-style-selector .hm-style-link.active,
#sidecol .hm-style-selector .hm-style-link.active {
  color: #ffffff !important;
  text-decoration: none !important;
}
#sidecol #hm-style-selector .hm-style-sep,
#sidecol .hm-style-selector .hm-style-sep {
  display: inline-block !important;
  width: 1px !important;
  height: 14px !important;
  margin: 0 2px !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  background: rgba(255,255,255,0.18) !important;
  border-left: 1px solid rgba(0,0,0,0.35) !important;
}
body.light #sidecol #hm-style-selector .hm-style-links,
body.light #sidecol .hm-style-selector .hm-style-links {
  background: linear-gradient(#ffffff, #e9e9e9) !important;
  border: 1px solid #cfcfcf !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
body.light #sidecol #hm-style-selector .hm-style-link,
body.light #sidecol .hm-style-selector .hm-style-link {
  color: #5a5a5a !important;
}
body.light #sidecol #hm-style-selector .hm-style-link:hover,
body.light #sidecol .hm-style-selector .hm-style-link:hover,
body.light #sidecol #hm-style-selector .hm-style-link.active,
body.light #sidecol .hm-style-selector .hm-style-link.active {
  color: #2C68A6 !important;
}
body.light #sidecol #hm-style-selector .hm-style-sep,
body.light #sidecol .hm-style-selector .hm-style-sep {
  background: #d3d3d3 !important;
  border-left: 1px solid #ffffff !important;
}

/* Better light header/showcase harmony. */
body.light #showcase,
body.light .fadein,
body.light .hivemind-rotator {
  background: #f2f2f2 !important;
}
body.light #showcase img,
body.light .hivemind-rotator img {
  background-color: #f2f2f2 !important;
}

@media (max-width: 767px) {
  #sidecol #hm-style-selector,
  #sidecol .hm-style-selector {
    width: 100% !important;
    max-width: 260px !important;
    margin: 12px auto 18px auto !important;
  }
}

/* ==========================================================
   Hivemind v1.0.14 light mobile menu correction
   ========================================================== */
@media (max-width: 767px) {
  body.light #hm-mobile-nav {
    background: #f3f3f3 !important;
    border-top: 1px solid #d8d8d8 !important;
    border-bottom: 1px solid #d8d8d8 !important;
  }

  body.light .hm-mobile-toggle {
    color: #333 !important;
    background: linear-gradient(#ffffff, #dfdfdf) !important;
    border: 1px solid #c8c8c8 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
  }

  body.light .hm-mobile-panel,
  body.light #hm-mobile-panel {
    background: linear-gradient(#fbfbfb, #eeeeee) !important;
    border: 1px solid #d4d4d4 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
  }

  body.light .hm-mobile-panel ul,
  body.light .hm-mobile-panel ul.menu,
  body.light .hm-mobile-panel ul.mod-menu,
  body.light #hm-mobile-panel ul,
  body.light #hm-mobile-panel ul.menu,
  body.light #hm-mobile-panel ul.mod-menu {
    background: transparent !important;
  }

  body.light .hm-mobile-panel li,
  body.light .hm-mobile-panel .nav-item,
  body.light #hm-mobile-panel li,
  body.light #hm-mobile-panel .nav-item {
    background: transparent !important;
    border-bottom: 1px solid #e3e3e3 !important;
  }

  body.light .hm-mobile-panel a,
  body.light .hm-mobile-panel .nav-link,
  body.light .hm-mobile-panel span.separator,
  body.light #hm-mobile-panel a,
  body.light #hm-mobile-panel .nav-link,
  body.light #hm-mobile-panel span.separator {
    color: #444 !important;
    background: transparent !important;
    border: 0 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.8) !important;
  }

  body.light .hm-mobile-panel li.active > a,
  body.light .hm-mobile-panel li.current > a,
  body.light .hm-mobile-panel a:hover,
  body.light .hm-mobile-panel a:focus,
  body.light #hm-mobile-panel li.active > a,
  body.light #hm-mobile-panel li.current > a,
  body.light #hm-mobile-panel a:hover,
  body.light #hm-mobile-panel a:focus {
    color: #2C68A6 !important;
    background: linear-gradient(#ffffff, #ececec) !important;
  }

  body.light .hm-mobile-social,
  body.light #hm-mobile-panel .hm-mobile-social {
    border-top: 1px solid #e3e3e3 !important;
    background: transparent !important;
  }

  body.light .hm-mobile-social .hm-social-icons a,
  body.light #hm-mobile-panel .hm-social-icons a {
    color: #4f4f4f !important;
    background: linear-gradient(#ffffff, #ececec) !important;
    border: 1px solid #cfcfcf !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
  }

  body.light .hm-mobile-social .hm-social-icons a:hover,
  body.light #hm-mobile-panel .hm-social-icons a:hover {
    color: #2C68A6 !important;
    background: linear-gradient(#ffffff, #e7e7e7) !important;
  }
}


/* ==========================================================
   Hivemind v1.0.15 breadcrumb spacing + light header alignment
   ========================================================== */

/* Joomla 4/5/6 breadcrumbs выводятся списком. В старом слое
   разделители были принудительно скрыты, из-за чего пункты
   слипались: ГлавнаяМодели... Возвращаем аккуратный текстовый
   разделитель и нормальные интервалы. */
#pathway ol.breadcrumb,
#pathway ul.breadcrumb,
#pathway ol,
#pathway ul {
  white-space: nowrap !important;
}

#pathway li,
#pathway .breadcrumb-item {
  white-space: nowrap !important;
}

#pathway li + li:before,
#pathway .breadcrumb-item + .breadcrumb-item:before {
  content: "/" !important;
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  height: 27px !important;
  line-height: 27px !important;
  margin: 0 7px 0 7px !important;
  padding: 0 !important;
  color: #a0a0a0 !important;
  background: none !important;
  vertical-align: top !important;
  opacity: 1 !important;
}

body.dark #pathway li + li:before,
body.dark #pathway .breadcrumb-item + .breadcrumb-item:before {
  color: #666 !important;
}

body.light #pathway li + li:before,
body.light #pathway .breadcrumb-item + .breadcrumb-item:before {
  color: #9a9a9a !important;
}

/* Некоторые версии Joomla кладут разделитель внутрь .divider.
   Его оставляем скрытым, чтобы не получить двойные слэши. */
#pathway .divider,
#pathway .divider-wrapper,
#pathway svg {
  display: none !important;
}

/* В светлой схеме логотип расположен очень близко к левому
   скругленному углу рамки. Из-за прозрачности PNG угол рамки
   визуально залезает на знак NOVO. Чуть уводим логотип внутрь
   и задаем стабильную высоту шапки. */
@media (min-width: 768px) {
  body.light #header {
    height: 88px !important;
    min-height: 88px !important;
    overflow: visible !important;
  }

  body.light img#logo {
    left: 18px !important;
    top: 3px !important;
    z-index: 30 !important;
  }

  body.light #horiz-menu {
    margin-top: 22px !important;
  }
}

/* ==========================================================
   Hivemind v1.0.16 content image spacing
   Adds default gaps around floated/aligned images inside articles
   so text does not stick to pictures imported from old Joomla.
   ========================================================== */

#mainbody .item-page img[align="left"],
#mainbody .blog img[align="left"],
#mainbody article img[align="left"],
#mainbody .item-page img[style*="float: left"],
#mainbody .blog img[style*="float: left"],
#mainbody article img[style*="float: left"],
#mainbody .item-page img[style*="float:left"],
#mainbody .blog img[style*="float:left"],
#mainbody article img[style*="float:left"],
#mainbody img.content-left,
#mainbody img.image-left,
#mainbody img.float-start,
#mainbody img.pull-left {
  margin: 4px 18px 10px 0 !important;
}

#mainbody .item-page img[align="right"],
#mainbody .blog img[align="right"],
#mainbody article img[align="right"],
#mainbody .item-page img[style*="float: right"],
#mainbody .blog img[style*="float: right"],
#mainbody article img[style*="float: right"],
#mainbody .item-page img[style*="float:right"],
#mainbody .blog img[style*="float:right"],
#mainbody article img[style*="float:right"],
#mainbody img.content-right,
#mainbody img.image-right,
#mainbody img.float-end,
#mainbody img.pull-right {
  margin: 4px 0 10px 18px !important;
}

#mainbody figure.image-left,
#mainbody .content-left,
#mainbody .image-left,
#mainbody .float-start,
#mainbody .pull-left {
  margin: 4px 18px 10px 0 !important;
}

#mainbody figure.image-right,
#mainbody .content-right,
#mainbody .image-right,
#mainbody .float-end,
#mainbody .pull-right {
  margin: 4px 0 10px 18px !important;
}

#mainbody figure.image-center,
#mainbody .content-center,
#mainbody .image-center {
  margin: 10px auto 14px auto !important;
  display: block;
  text-align: center;
}

/* Do not add these margins inside galleries and lightbox wrappers. */
#mainbody .hfg-gallery img,
#mainbody .hfg-lightbox img,
#mainbody .gallery img,
#mainbody .sigplus-gallery img {
  margin: 0 !important;
}

@media (max-width: 767px) {
  #mainbody .item-page img[align="left"],
  #mainbody .item-page img[align="right"],
  #mainbody .item-page img[style*="float: left"],
  #mainbody .item-page img[style*="float:left"],
  #mainbody .item-page img[style*="float: right"],
  #mainbody .item-page img[style*="float:right"],
  #mainbody img.content-left,
  #mainbody img.content-right,
  #mainbody img.image-left,
  #mainbody img.image-right,
  #mainbody img.float-start,
  #mainbody img.float-end,
  #mainbody img.pull-left,
  #mainbody img.pull-right {
    max-width: 100%;
    height: auto;
    margin: 8px auto 12px auto !important;
  }
}


/* ==========================================================
   Hivemind v1.0.17 accessibility font-size correction
   The original buttons changed body class, but Joomla 6 fixes set
   content font sizes with !important, so the article text did not move.
   ========================================================== */
body.f-smaller { --hm-content-size: 11px; --hm-content-line: 1.38; --hm-h1-size: 17px; --hm-h2-size: 15px; --hm-h3-size: 12px; }
body.f-default { --hm-content-size: 12px; --hm-content-line: 1.35; --hm-h1-size: 18px; --hm-h2-size: 16px; --hm-h3-size: 13px; }
body.f-larger  { --hm-content-size: 15px; --hm-content-line: 1.45; --hm-h1-size: 21px; --hm-h2-size: 19px; --hm-h3-size: 16px; }

body.f-smaller #body-padding,
body.f-default #body-padding,
body.f-larger #body-padding,
body.f-smaller #body-padding > main,
body.f-default #body-padding > main,
body.f-larger #body-padding > main,
body.f-smaller #body-padding .item-page,
body.f-default #body-padding .item-page,
body.f-larger #body-padding .item-page,
body.f-smaller #body-padding .com-content-article,
body.f-default #body-padding .com-content-article,
body.f-larger #body-padding .com-content-article,
body.f-smaller #body-padding .blog,
body.f-default #body-padding .blog,
body.f-larger #body-padding .blog,
body.f-smaller #body-padding .category-list,
body.f-default #body-padding .category-list,
body.f-larger #body-padding .category-list {
  font-size: var(--hm-content-size) !important;
  line-height: var(--hm-content-line) !important;
}

body.f-smaller #body-padding p,
body.f-default #body-padding p,
body.f-larger #body-padding p,
body.f-smaller #body-padding li,
body.f-default #body-padding li,
body.f-larger #body-padding li,
body.f-smaller #body-padding td,
body.f-default #body-padding td,
body.f-larger #body-padding td,
body.f-smaller #body-padding th,
body.f-default #body-padding th,
body.f-larger #body-padding th,
body.f-smaller #body-padding dd,
body.f-default #body-padding dd,
body.f-larger #body-padding dd,
body.f-smaller #body-padding dt,
body.f-default #body-padding dt,
body.f-larger #body-padding dt,
body.f-smaller #body-padding blockquote,
body.f-default #body-padding blockquote,
body.f-larger #body-padding blockquote {
  font-size: var(--hm-content-size) !important;
  line-height: var(--hm-content-line) !important;
}

body.f-smaller #body-padding h1,
body.f-smaller #body-padding .page-header h1 { font-size: var(--hm-h1-size) !important; }
body.f-default #body-padding h1,
body.f-default #body-padding .page-header h1 { font-size: var(--hm-h1-size) !important; }
body.f-larger #body-padding h1,
body.f-larger #body-padding .page-header h1 { font-size: var(--hm-h1-size) !important; }

body.f-smaller #body-padding h2,
body.f-smaller #body-padding .page-header h2 { font-size: var(--hm-h2-size) !important; }
body.f-default #body-padding h2,
body.f-default #body-padding .page-header h2 { font-size: var(--hm-h2-size) !important; }
body.f-larger #body-padding h2,
body.f-larger #body-padding .page-header h2 { font-size: var(--hm-h2-size) !important; }

body.f-smaller #body-padding h3 { font-size: var(--hm-h3-size) !important; }
body.f-default #body-padding h3 { font-size: var(--hm-h3-size) !important; }
body.f-larger #body-padding h3 { font-size: var(--hm-h3-size) !important; }

#accessibility a.hm-font-active .button,
#accessibility a.hm-font-active:hover .button {
  color: #fff !important;
}
body.light #accessibility a.hm-font-active .button,
body.light #accessibility a.hm-font-active:hover .button {
  color: #2C68A6 !important;
}


/* ==========================================================
   Hivemind v1.0.18 category blog grid override
   Purpose: two-column category blog, title link above image,
   no Read More button, no extra "linked articles" block.
   ========================================================== */
#mainbody .blog,
#mainbody .com-content-category-blog {
  --hm-blog-gap-x: 20px;
  --hm-blog-gap-y: 18px;
}

/* Joomla 4/5/6 blog item containers */
#mainbody .blog .blog-items,
#mainbody .com-content-category-blog__items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--hm-blog-gap-y) var(--hm-blog-gap-x) !important;
  align-items: start !important;
  width: 100% !important;
}

/* Older / alternative blog markup: items-row with columns inside */
#mainbody .blog .items-row,
#mainbody .com-content-category-blog .items-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--hm-blog-gap-y) var(--hm-blog-gap-x) !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 var(--hm-blog-gap-y) 0 !important;
}

#mainbody .blog .blog-items > *,
#mainbody .com-content-category-blog__items > *,
#mainbody .blog .items-row > *,
#mainbody .com-content-category-blog .items-row > * {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  flex: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Make every article preview a vertical card: title -> image -> text */
#mainbody .blog .blog-item,
#mainbody .blog .item,
#mainbody .com-content-category-blog__item {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding-bottom: 12px !important;
}

body.light #mainbody .blog .blog-item,
body.light #mainbody .blog .item,
body.light #mainbody .com-content-category-blog__item {
  border-bottom-color: rgba(0,0,0,.10) !important;
}

/* Title is the article link and must be above the image */
#mainbody .blog .page-header,
#mainbody .blog .item-title,
#mainbody .blog .blog-item h2,
#mainbody .blog .blog-item h3,
#mainbody .blog .item h2,
#mainbody .blog .item h3,
#mainbody .com-content-category-blog__item h2,
#mainbody .com-content-category-blog__item h3 {
  order: 1 !important;
  margin: 0 0 7px 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  font-size: 14px !important;
}

#mainbody .blog .page-header a,
#mainbody .blog .item-title a,
#mainbody .blog .blog-item h2 a,
#mainbody .blog .blog-item h3 a,
#mainbody .blog .item h2 a,
#mainbody .blog .item h3 a,
#mainbody .com-content-category-blog__item h2 a,
#mainbody .com-content-category-blog__item h3 a {
  text-decoration: none !important;
}

/* Intro image under title */
#mainbody .blog .item-image,
#mainbody .blog figure.item-image,
#mainbody .blog .pull-left,
#mainbody .blog .pull-right,
#mainbody .com-content-category-blog__item .item-image,
#mainbody .com-content-category-blog__item figure.item-image {
  order: 2 !important;
  float: none !important;
  clear: none !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

#mainbody .blog img,
#mainbody .com-content-category-blog img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Intro text after image */
#mainbody .blog .introtext,
#mainbody .blog .com-content-category-blog__description,
#mainbody .com-content-category-blog__item > p,
#mainbody .blog .blog-item > p,
#mainbody .blog .item > p {
  order: 3 !important;
}

/* Hide clutter in category previews */
#mainbody .blog .readmore,
#mainbody .blog .mod-articles-category-readmore,
#mainbody .blog .items-more,
#mainbody .blog .com-content-category-blog__links,
#mainbody .blog .article-info,
#mainbody .blog dl.article-info,
#mainbody .blog .icons,
#mainbody .blog .pagenavigation,
#mainbody .com-content-category-blog__item .readmore,
#mainbody .com-content-category-blog__item .article-info,
#mainbody .com-content-category-blog__item .icons {
  display: none !important;
}

/* Pagination stays normal and full width */
#mainbody .blog .pagination,
#mainbody .blog .counter,
#mainbody .com-content-category-blog .pagination,
#mainbody .com-content-category-blog .counter {
  display: block !important;
  clear: both !important;
  width: 100% !important;
  margin-top: 18px !important;
}

@media (max-width: 767px) {
  #mainbody .blog .blog-items,
  #mainbody .com-content-category-blog__items,
  #mainbody .blog .items-row,
  #mainbody .com-content-category-blog .items-row {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================
   Hivemind v1.0.19 Joomla category blog override styling
   ========================================================== */
#mainbody .hivemind-category-blog,
.hivemind-category-blog {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

#mainbody .hivemind-category-blog .hivemind-blog-category-title {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  color: #bdbdbd !important;
}

body.light #mainbody .hivemind-category-blog .hivemind-blog-category-title {
  color: #4d4d4d !important;
}

#mainbody .novo-category-blog-columns {
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

#mainbody .novo-category-blog-columns.cols-1 .novo-category-blog-column { width: 100% !important; }
#mainbody .novo-category-blog-columns.cols-2 .novo-category-blog-column { width: calc(50% - 9px) !important; }
#mainbody .novo-category-blog-columns.cols-3 .novo-category-blog-column { width: calc(33.333% - 12px) !important; }
#mainbody .novo-category-blog-columns.cols-4 .novo-category-blog-column { width: calc(25% - 14px) !important; }

#mainbody .novo-category-blog-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
}

#mainbody .novo-category-blog-item {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: transparent !important;
}

body.light #mainbody .novo-category-blog-item {
  border-bottom-color: rgba(0,0,0,.10) !important;
}

#mainbody .novo-category-blog-item .novo-blog-item-title {
  display: block !important;
  margin: 0 0 7px 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: normal !important;
}

#mainbody .novo-category-blog-item .novo-blog-item-title a {
  color: #3d9bef !important;
  text-decoration: none !important;
}

#mainbody .novo-category-blog-item .novo-blog-item-title a:hover,
#mainbody .novo-category-blog-item .novo-blog-item-title a:focus {
  color: #78c0ff !important;
  text-decoration: underline !important;
}

body.light #mainbody .novo-category-blog-item .novo-blog-item-title a {
  color: #2C68A6 !important;
}

body.light #mainbody .novo-category-blog-item .novo-blog-item-title a:hover,
body.light #mainbody .novo-category-blog-item .novo-blog-item-title a:focus {
  color: #174b7f !important;
}

#mainbody .novo-category-blog-item .novo-blog-intro-image {
  display: block !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
}

#mainbody .novo-category-blog-item .novo-blog-intro-image a {
  display: block !important;
}

#mainbody .novo-category-blog-item .novo-blog-intro-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  float: none !important;
}

#mainbody .novo-category-blog-item .novo-blog-intro-image figcaption {
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  opacity: .75 !important;
}

#mainbody .novo-category-blog-item .novo-blog-introtext {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 1.45 !important;
}

#mainbody .novo-category-blog-item .novo-blog-introtext p {
  margin: 0 0 8px 0 !important;
}

#mainbody .novo-category-blog-item .readmore,
#mainbody .novo-category-blog-item .article-info,
#mainbody .novo-category-blog-item .icons,
#mainbody .hivemind-category-blog .items-more,
#mainbody .hivemind-category-blog .com-content-category-blog__links,
#mainbody .hivemind-category-blog .pagenavigation {
  display: none !important;
}

#mainbody .hivemind-category-blog .novo-category-pagination {
  margin-top: 20px !important;
  padding-top: 12px !important;
  clear: both !important;
}

#mainbody .hivemind-category-blog .novo-category-pagination ul,
#mainbody .hivemind-category-blog .novo-category-pagination .pagination {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

@media (max-width: 767px) {
  #mainbody .novo-category-blog-columns {
    display: block !important;
  }

  #mainbody .novo-category-blog-columns .novo-category-blog-column {
    display: block !important;
    width: 100% !important;
  }

  #mainbody .novo-category-blog-item {
    margin-bottom: 18px !important;
  }
}

/* ==========================================================
   Hivemind v1.0.21 content helper: single-line frame
   Usage in article text:
   <span class="hm-mourning">text fragment</span>
   <div class="hm-mourning hm-mourning-block">separate centered line</div>
   ========================================================== */
#mainbody .hm-mourning,
.component-content .hm-mourning,
.com-content-article .hm-mourning,
.article .hm-mourning {
  display: inline-block !important;
  padding: 2px 7px !important;
  margin: 0 2px !important;
  color: inherit !important;
  background: transparent !important;
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  font: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  line-height: inherit !important;
  text-shadow: inherit !important;
  box-shadow: none !important;
  vertical-align: baseline !important;
}

#mainbody .hm-mourning-block,
.component-content .hm-mourning-block,
.com-content-article .hm-mourning-block,
.article .hm-mourning-block {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 10px auto 12px auto !important;
  padding: 4px 12px !important;
  text-align: center !important;
}

#mainbody .hm-mourning a,
.component-content .hm-mourning a,
.com-content-article .hm-mourning a,
.article .hm-mourning a {
  color: inherit !important;
  text-decoration: none !important;
}

body.light #mainbody .hm-mourning,
body.light .component-content .hm-mourning,
body.light .com-content-article .hm-mourning,
body.light .article .hm-mourning {
  color: inherit !important;
  background: transparent !important;
  border-color: currentColor !important;
}


/* ==========================================================
   Hivemind v1.0.22 module positions: space1 / space2
   ========================================================== */
#hm-space1,
#hm-space2,
.hm-module-space {
  clear: both;
  margin: 12px 0;
}

#hm-space1 .module,
#hm-space2 .module,
.hm-module-space .module,
#hm-space1 .moduletable,
#hm-space2 .moduletable,
.hm-module-space .moduletable {
  margin-bottom: 12px;
}

#hm-space1 .module:last-child,
#hm-space2 .module:last-child,
.hm-module-space .module:last-child,
#hm-space1 .moduletable:last-child,
#hm-space2 .moduletable:last-child,
.hm-module-space .moduletable:last-child {
  margin-bottom: 0;
}


/* ==========================================================
   Hivemind v1.0.23 content helper: visible horizontal rules
   Usage:
   <hr>
   <hr class="hm-separator">
   ========================================================== */
#mainbody hr,
.component-content hr,
.com-content-article hr,
.item-page hr,
.article hr {
  display: block !important;
  clear: both !important;
  height: 1px !important;
  margin: 18px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid #555 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#mainbody hr.hm-separator,
.component-content hr.hm-separator,
.com-content-article hr.hm-separator,
.item-page hr.hm-separator,
.article hr.hm-separator {
  margin: 22px 0 !important;
  border-top-color: #777 !important;
}

body.light #mainbody hr,
body.light .component-content hr,
body.light .com-content-article hr,
body.light .item-page hr,
body.light .article hr {
  border-top-color: #b8b8b8 !important;
}

body.light #mainbody hr.hm-separator,
body.light .component-content hr.hm-separator,
body.light .com-content-article hr.hm-separator,
body.light .item-page hr.hm-separator,
body.light .article hr.hm-separator {
  border-top-color: #9c9c9c !important;
}


/* ==========================================================
   Hivemind v1.0.26 mobile typography controls
   Values are supplied from template settings as CSS variables.
   ========================================================== */
@media (max-width: 767px) {
  html,
  body {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  body,
  body#ff-optima,
  #ff-optima td,
  #mainbody,
  #body-padding,
  #body-padding > main,
  #body-padding .item-page,
  #body-padding .com-content-article,
  #body-padding .blog,
  #body-padding .category-list,
  #body-padding p,
  #body-padding li,
  #body-padding td,
  #body-padding th,
  #body-padding div,
  .item-page p,
  .com-content-article p,
  .article-content p {
    font-size: var(--hm-mobile-body-font-size, 18px) !important;
    line-height: var(--hm-mobile-line-height, 1.6) !important;
  }

  #body-padding small,
  #body-padding .small,
  #body-padding figcaption,
  #mainbody .article-info,
  #mainbody .article-info *,
  #pathway,
  #pathway a,
  #pathway span,
  #pathway li,
  #pathway .breadcrumb-item {
    font-size: calc(var(--hm-mobile-body-font-size, 18px) - 4px) !important;
    line-height: 1.4 !important;
  }

  #body-padding h1,
  #body-padding .page-header h1,
  .item-page h1,
  .com-content-article h1 {
    font-size: var(--hm-mobile-h1-font-size, 24px) !important;
    line-height: 1.25 !important;
  }

  #body-padding h2,
  #body-padding .page-header h2,
  .item-page h2,
  .com-content-article h2 {
    font-size: var(--hm-mobile-h2-font-size, 22px) !important;
    line-height: 1.3 !important;
  }

  #body-padding h3,
  .item-page h3,
  .com-content-article h3 {
    font-size: var(--hm-mobile-h3-font-size, 20px) !important;
    line-height: 1.35 !important;
  }

  .hm-mobile-toggle,
  .hm-mobile-panel a,
  .hm-mobile-panel .nav-link,
  .hm-mobile-panel span.separator,
  #hm-mobile-panel a,
  #hm-mobile-panel .nav-link,
  #hm-mobile-panel span.separator {
    font-size: var(--hm-mobile-menu-font-size, 18px) !important;
    line-height: 1.45 !important;
  }

  .hm-mobile-toggle i {
    font-size: calc(var(--hm-mobile-menu-font-size, 18px) + 2px) !important;
  }
}
