/* AOS Joomla 4/5 clean rebuild. No Artisteer runtime or art-* selectors. */
:root {
  --aos-text: #0b0b09;
  --aos-link: #ba4b1c;
  --aos-green: #85905a;
  --aos-soft-green: #a2ad7b;
  --aos-nav-text: #e7efa9;
  --aos-title-orange: #ca7021;
  --aos-side: 250px;
  --aos-width: 1200px;
  --aos-font: "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
}

html, body { min-height: 100%; }
body.aos-site {
  margin: 0;
  padding: 0;
  color: var(--aos-text);
  background: #000 url('../images/Bottom_texture.jpg') repeat-x top left;
  font: 13px/1.35 var(--aos-font);
}
.aos-site *, .aos-site *::before, .aos-site *::after { box-sizing: content-box; }
.aos-bg-middle { min-height: 100vh; background: url('../images/Middle_texture.jpg') repeat-y top left; }
.aos-bg-top { min-height: 100vh; background: url('../images/Top_texture.jpg') no-repeat top left; }

.aos-page {
  position: relative;
  width: var(--aos-width);
  max-width: calc(100% - 20px);
  margin: 10px auto 0;
  padding: 1px;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(70,74,49,.35);
}

.aos-header {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: url('../images/header.jpg') no-repeat center center;
}
.aos-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../images/header.png') no-repeat top center;
  pointer-events: none;
}
.aos-header-object {
  position: absolute;
  left: -46px;
  top: 0;
  width: 1311px;
  height: 200px;
  background: url('../images/header-object.png') no-repeat 0 0;
}
.aos-branding {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 50%;
  width: 841px;
  max-width: 75%;
  transform: translateX(-38%);
  text-align: center;
}
.aos-branding h1 { margin: 0; padding: 0; font-size: 40px; line-height: 1.2; font-weight: 700; }
.aos-branding h1 a { color: var(--aos-title-orange); text-decoration: none; }
.aos-branding p { margin: 0; padding: 0; color: #e5eea5; font-size: 17px; font-weight: 700; }

/* Top navigation: exact 26px original geometry, but clean Joomla markup. */
.aos-navbar { position: relative; min-height: 26px; background: url('../images/nav.png') repeat-x top left; z-index: 20; }
.aos-navbar-inner { display: flex; align-items: stretch; min-height: 26px; width: 100%; }
.aos-topmenu { flex: 1 1 auto; min-width: 0; }
.aos-nav-extra { flex: 0 0 auto; min-height: 26px; display: flex; align-items: center; }
.aos-nav-extra-right { margin-left: auto; }
.aos-navbar .aos-module { margin: 0; padding: 0; }
.aos-topmenu ul.mod-menu,
.aos-topmenu ul.menu,
.aos-topmenu ul.nav { display: flex; flex-wrap: nowrap; margin: 0; padding: 0; list-style: none; min-height: 26px; }
.aos-topmenu ul.mod-menu > li,
.aos-topmenu ul.menu > li,
.aos-topmenu ul.nav > li { position: relative; margin: 0; padding: 0; list-style: none; }
.aos-topmenu ul.mod-menu > li > a,
.aos-topmenu ul.mod-menu > li > span,
.aos-topmenu ul.menu > li > a,
.aos-topmenu ul.nav > li > a {
  display: block;
  height: 26px;
  padding: 0 22px;
  color: var(--aos-nav-text);
  font-weight: 700;
  line-height: 26px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background: url('../images/menuitem.png') repeat-x top left;
}
.aos-topmenu li.current > a,
.aos-topmenu li.active > a,
.aos-topmenu a:hover,
.aos-topmenu a:focus { color: #fff; background-position: left bottom; }
.aos-topmenu li ul { display: none; position: absolute; left: 0; top: 26px; min-width: 190px; margin: 0; padding: 4px 0; list-style: none; background: #626a42; z-index: 100; }
.aos-topmenu li:hover > ul, .aos-topmenu li:focus-within > ul { display: block; }
.aos-topmenu li ul a { display: block; padding: 6px 12px; color: #eef3c6; text-decoration: none; white-space: nowrap; }
.aos-topmenu li ul a:hover { background: rgba(255,255,255,.12); color: #fff; }

/* Smart Search / legacy search in nav. */
.aos-navbar .mod-finder, .aos-navbar .finder, .aos-navbar form { margin: 0 !important; padding: 2px 5px !important; white-space: nowrap; }
.aos-navbar input[type="search"], .aos-navbar input[type="text"] { width: 145px; height: 18px; margin: 1px 3px 1px 0; padding: 1px 5px; border: 1px solid #7d845d; background: #f7f8ea; color: #333; font: 12px var(--aos-font); }
.aos-navbar button { min-height: 20px; margin: 0; padding: 0 7px; border: 1px solid #6e7650; background: #dce3b7; color: #333; font: 12px var(--aos-font); cursor: pointer; }

.aos-banner:empty { display: none; }
.aos-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; width: 100%; }
.aos-layout.has-left { grid-template-columns: var(--aos-side) minmax(0, 1fr); }
.aos-layout.has-right { grid-template-columns: minmax(0, 1fr) var(--aos-side); }
.aos-layout.has-left.has-right { grid-template-columns: var(--aos-side) minmax(0, 1fr) var(--aos-side); }
.aos-sidebar, .aos-content { min-width: 0; align-self: start; vertical-align: top; }
.aos-content { padding: 0; }

.aos-three { display: grid; grid-template-columns: 33fr 33fr 34fr; }
.aos-two { display: grid; grid-template-columns: 1fr 1fr; }

/* Sidebar/module blocks recreate the original visual block without old chrome. */
.aos-card { margin: 7px; }
.aos-card-title {
  min-height: 31px;
  margin: 0;
  padding: 0 10px;
  color: #3a3f27;
  background: url('../images/blockheader.png') repeat-x top left;
  font: 700 13px/31px var(--aos-font);
  white-space: nowrap;
}
.aos-card-content {
  position: relative;
  min-height: 2px;
  padding: 8px;
  color: #11110e;
  border-left: 1px solid #d7dbbc;
  border-right: 1px solid #d7dbbc;
  border-bottom: 1px solid #d7dbbc;
  background: #f7f8ed url('../images/blockcontent_t.png') repeat-x top left;
  font: 13px/1.35 var(--aos-font);
}
.aos-card-content a { color: #1b1c12; text-decoration: underline; }
.aos-card-content a:hover { color: #e2a646; text-decoration: none; }
.aos-card-content ul { margin: 0; padding: 0; list-style: none; }
.aos-card-content li { margin: 0; padding: 2px 0 2px 14px; background: url('../images/blockcontentbullets.png') no-repeat 0 .55em; }
.aos-card-content .mod-menu li { background-image: url('../images/blockcontentbullets.png'); }

/* Joomla 4/5 login module in right block. */
.aos-card .mod-login__username, .aos-card .mod-login__password, .aos-card .mod-login__remember, .aos-card .control-group { margin: 0 0 7px; }
.aos-card label { display: block; margin: 0 0 2px; }
.aos-card input[type="text"], .aos-card input[type="password"], .aos-card input[type="email"] { width: calc(100% - 12px); padding: 3px 5px; border: 1px solid #b9bca4; background: #fff; font: 12px var(--aos-font); }
.aos-card .btn, .aos-card button, .aos-component .btn, .aos-component button { padding: 3px 9px; border: 1px solid #6f7650; border-radius: 3px; background: #dce3b7; color: #333; font: 12px var(--aos-font); }

/* Main Joomla component: style native Joomla 4/5 markup directly, no component override. */
.aos-component { padding: 7px; }
.aos-component > .blog,
.aos-component > .item-page,
.aos-component .blog-item,
.aos-component .com-content-article,
.aos-component article,
.aos-article-shell,
.aos-breadcrumb-shell {
  position: relative;
  margin: 0 0 7px;
  padding: 12px 14px;
  border: 1px solid #d2d5c2;
  border-radius: 3px;
  background: #fff url('../images/post_t.png') repeat-x top left;
  color: #0b0b09;
}
.aos-component .blog-items { display: block; }
.aos-component .blog-item { break-inside: avoid; }
.aos-component h1, .aos-component h2, .aos-component h3, .aos-component h4, .aos-component h5, .aos-component h6,
.aos-article-shell h1, .aos-article-shell h2, .aos-article-shell h3 { font-family: var(--aos-font); font-weight: 700; text-align: left; }
.aos-component h1 { margin: 0 0 8px; color: var(--aos-green); font-size: 26px; }
.aos-component h2 { margin: 0 0 8px; color: var(--aos-soft-green); font-size: 24px; }
.aos-component h3 { margin: 0 0 6px; color: #8a8c73; font-size: 20px; }
.aos-component h4 { margin: 0 0 6px; color: #4d4f40; font-size: 18px; }
.aos-component p { margin: 0 0 .8em; }
.aos-component a { color: var(--aos-link); text-decoration: underline; }
.aos-component a:hover { color: #e2a646; text-decoration: none; }
.aos-component img { max-width: 100%; height: auto; }
.aos-component .page-header { margin: 0; padding: 0; border: 0; }
.aos-component .page-header h1, .aos-component .page-header h2 { margin-top: 0; }
.aos-component .article-info { margin: 4px 0 10px; color: #454639; font-size: 12px; }
.aos-component .article-info-term { display: none; }
.aos-component .article-info dd { display: inline; margin: 0 10px 0 0; }
.aos-component .icons, .aos-component .article-info-muted { font-size: 12px; }
.aos-component .pagination { text-align: center; }
.aos-component .pagination ul { display: inline-flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.aos-component table { max-width: 100%; border-collapse: collapse; }

.aos-breadcrumb-shell { margin: 7px; padding: 7px 10px; }
.aos-breadcrumb-shell ol, .aos-breadcrumb-shell ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; }

.aos-footer { position: relative; min-height: 36px; margin: 0; padding: 15px; color: #454639; background: url('../images/footer.png') repeat-x top left; font-size: 12px; }
.aos-footer-text { text-align: center; }
.aos-footer p { margin: 0; }

/* Joomla messages */
.aos-content .alert { margin: 7px; padding: 8px 10px; border: 1px solid #c8cba9; background: #f7f8ed; }

/* Preserve original desktop topology; only stack when the viewport cannot accommodate it. */
@media (max-width: 900px) {
  .aos-page { max-width: calc(100% - 10px); margin-top: 5px; }
  .aos-layout, .aos-layout.has-left, .aos-layout.has-right, .aos-layout.has-left.has-right { grid-template-columns: 1fr; }
  .aos-sidebar-left { order: 2; }
  .aos-content { order: 1; }
  .aos-sidebar-right { order: 3; }
  .aos-three, .aos-two { grid-template-columns: 1fr; }
  .aos-branding { left: 0; transform: none; width: 100%; max-width: 100%; }
  .aos-branding h1 { font-size: clamp(24px, 6vw, 40px); }
  .aos-navbar-inner { flex-wrap: wrap; }
  .aos-topmenu { order: 3; flex-basis: 100%; }
  .aos-topmenu ul.mod-menu, .aos-topmenu ul.menu, .aos-topmenu ul.nav { flex-wrap: wrap; }
}

/* v6.1.0: Joomla-native visual reconstruction of the original AOS shell. */
.aos-page {
  border: 0;
  border-radius: 11px 11px 0 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}
.aos-page::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 11px;
  background: url('../images/sheet_t.png') no-repeat top center;
  pointer-events: none;
  z-index: 50;
}
.aos-header {
  margin: 0;
  border-radius: 10px 10px 0 0;
}
.aos-header::before {
  border-radius: 10px 10px 0 0;
}

/* The old site had one 26px bar: left extra, right extra/search, then menu. */
.aos-navbar {
  height: 26px;
  min-height: 26px;
  margin: 0;
  background: url('../images/nav.png') repeat-x 0 0;
}
.aos-navbar-inner {
  position: relative;
  display: block;
  height: 26px;
  min-height: 26px;
}
.aos-nav-extra-left {
  float: left;
  position: relative;
  z-index: 4;
  height: 26px;
}
.aos-nav-extra-right {
  float: right;
  position: relative;
  z-index: 5;
  height: 26px;
  margin: 0;
}
.aos-topmenu {
  float: left;
  position: relative;
  z-index: 3;
  height: 26px;
}
.aos-topmenu ul.mod-menu,
.aos-topmenu ul.menu,
.aos-topmenu ul.nav,
.aos-topmenu ul.mod-list {
  display: flex !important;
  float: left;
  height: 26px;
  min-height: 26px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.aos-topmenu ul.mod-menu > li,
.aos-topmenu ul.menu > li,
.aos-topmenu ul.nav > li,
.aos-topmenu ul.mod-list > li {
  display: block;
  float: left;
  height: 26px;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  list-style: none !important;
}
.aos-topmenu ul.mod-menu > li > a,
.aos-topmenu ul.menu > li > a,
.aos-topmenu ul.nav > li > a,
.aos-topmenu ul.mod-list > li > a,
.aos-topmenu ul.mod-menu > li > span,
.aos-topmenu ul.mod-list > li > span {
  display: block;
  box-sizing: border-box;
  height: 26px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  color: #e7efa9;
  background: url('../images/menuitem.png') repeat-x 0 0;
  font: 700 13px/26px var(--aos-font);
  text-decoration: none !important;
  white-space: nowrap;
}
.aos-topmenu li.active > a,
.aos-topmenu li.current > a,
.aos-topmenu li > a:hover,
.aos-topmenu li > a:focus {
  color: #fff;
  background-position: 0 -44px;
}

/* Search remains an independent extra position. If the old search module no longer
   exists after migration, index.php supplies a Smart Search-compatible fallback. */
.aos-navbar .aos-fallback-search,
.aos-navbar .mod-finder,
.aos-navbar .finder,
.aos-navbar .mod-search,
.aos-navbar .search {
  display: flex;
  align-items: center;
  height: 26px;
  margin: 0 !important;
  padding: 0 5px !important;
  box-sizing: border-box;
}
.aos-navbar .aos-fallback-search input[type="search"],
.aos-navbar .aos-fallback-search input[type="text"],
.aos-navbar .mod-finder input,
.aos-navbar .finder input,
.aos-navbar .mod-search input,
.aos-navbar .search input {
  box-sizing: border-box;
  width: 145px;
  height: 20px;
  margin: 0 3px 0 0 !important;
  padding: 1px 5px !important;
  border: 1px solid #727952;
  border-radius: 2px;
  background: #f7f8ea;
  color: #333;
  font: 12px/18px var(--aos-font);
}
.aos-navbar .aos-fallback-search button,
.aos-navbar .mod-finder button,
.aos-navbar .finder button,
.aos-navbar .mod-search button,
.aos-navbar .search button {
  box-sizing: border-box;
  height: 20px;
  min-height: 20px;
  margin: 0 !important;
  padding: 0 7px !important;
  border: 1px solid #687047;
  border-radius: 2px;
  background: #dce3b7;
  color: #303223;
  font: 12px/18px var(--aos-font);
}

/* Joomla's built-in html5 module chrome. No custom runtime/chrome needed. */
.aos-sidebar > .moduletable,
.aos-three > div > .moduletable,
.aos-two > div > .moduletable {
  position: relative;
  margin: 7px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #f7f8ed;
  box-shadow: inset 0 0 0 1px #c7ccb0;
  overflow: hidden;
  color: #11110e;
  font: 13px/1.35 var(--aos-font);
}
.aos-sidebar > .moduletable > h3,
.aos-three > div > .moduletable > h3,
.aos-two > div > .moduletable > h3,
.aos-sidebar > .moduletable > .card-header,
.aos-three > div > .moduletable > .card-header,
.aos-two > div > .moduletable > .card-header {
  box-sizing: border-box;
  min-height: 31px;
  margin: 0;
  padding: 0 10px;
  border: 0;
  color: #3a3f27;
  background: url('../images/blockheader.png') repeat-x 0 0;
  font: 700 13px/31px var(--aos-font);
  white-space: nowrap;
}
.aos-sidebar > .moduletable > :not(h3):not(.card-header),
.aos-three > div > .moduletable > :not(h3):not(.card-header),
.aos-two > div > .moduletable > :not(h3):not(.card-header) {
  margin-left: 8px;
  margin-right: 8px;
}
.aos-sidebar > .moduletable > :last-child,
.aos-three > div > .moduletable > :last-child,
.aos-two > div > .moduletable > :last-child {
  margin-bottom: 8px;
}
.aos-sidebar .moduletable ul,
.aos-three .moduletable ul,
.aos-two .moduletable ul {
  margin-top: 8px;
  padding-left: 0;
  list-style: none;
}
.aos-sidebar .moduletable li,
.aos-three .moduletable li,
.aos-two .moduletable li {
  margin: 0;
  padding: 2px 0 2px 14px;
  background: url('../images/blockcontentbullets.png') no-repeat 0 .55em;
}
.aos-sidebar .moduletable a,
.aos-three .moduletable a,
.aos-two .moduletable a {
  color: #11110e;
}

/* Give all three columns the same original 7px first-block offset. */
.aos-layout { padding-top: 0; }
.aos-component { padding: 2px 7px 7px; }
.aos-component > .blog,
.aos-component > .item-page,
.aos-component .blog-item,
.aos-component .com-content-article,
.aos-component article {
  margin-top: 5px;
  padding: 21px;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .aos-navbar { height: auto; min-height: 26px; }
  .aos-navbar-inner { display: flex; height: auto; min-height: 26px; flex-wrap: wrap; }
  .aos-nav-extra-left, .aos-nav-extra-right, .aos-topmenu { float: none; height: auto; }
  .aos-topmenu { flex-basis: 100%; order: 3; }
  .aos-topmenu ul.mod-menu, .aos-topmenu ul.menu, .aos-topmenu ul.nav, .aos-topmenu ul.mod-list { height: auto; flex-wrap: wrap !important; }
}


/* v6.2.0 - pixel shell corrections measured from the original AOS template. */

/* The original Artisteer sheet is 1200 px outside and 1198 px inside.
   Keep that exact geometry: header.png, nav.png and footer_b.png are 1198 px wide. */
.aos-page {
  box-sizing: border-box;
  width: 1200px;
  max-width: calc(100% - 20px);
  padding: 1px;
  overflow: hidden;
  border: 0;
  border-radius: 11px 11px 0 0;
  background: #fff;
}
.aos-page::before {
  width: 1200px;
  max-width: 100%;
  background-position: top center;
}

/* Header: reproduce the original three independent layers exactly.
   Full 1198px frame, 1178px photo inset 10px, 1311px bird object. */
.aos-header {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  height: 200px;
  margin: 0;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  background: none;
}
.aos-header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 200px;
  border-radius: 10px 10px 0 0;
  background: url('../images/header.png') no-repeat top center;
  pointer-events: none;
}
.aos-header::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 10px;
  right: 10px;
  height: 200px;
  background: url('../images/header.jpg') no-repeat center center;
  pointer-events: none;
}
.aos-header-object {
  z-index: 1;
  left: -46px;
  top: 0;
  width: 1311px;
  height: 200px;
}
.aos-branding { z-index: 2; }

/* Navigation: use the original 1198x26 bar image as one piece rather than
   stretching/repeating a generic strip. */
.aos-navbar {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0;
  background: url('../images/nav.png') no-repeat top center;
  z-index: 20;
}
.aos-navbar-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0;
}
.aos-nav-extra-left {
  position: relative;
  display: block;
  float: left;
  width: auto;
  height: 26px;
  margin: 0;
  padding: 0;
  z-index: 4;
}
.aos-nav-extra-right {
  position: relative;
  display: block;
  float: right;
  width: auto;
  height: 26px;
  margin: 0;
  padding: 0;
  z-index: 5;
}
.aos-topmenu {
  position: relative;
  display: block;
  float: left;
  width: auto;
  height: 26px;
  margin: 0;
  padding: 0;
  z-index: 3;
}
.aos-topmenu ul.mod-menu,
.aos-topmenu ul.menu,
.aos-topmenu ul.nav,
.aos-topmenu ul.mod-list {
  display: block !important;
  float: left;
  width: auto;
  height: 26px;
  min-height: 26px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  list-style: none !important;
}
.aos-topmenu ul.mod-menu > li,
.aos-topmenu ul.menu > li,
.aos-topmenu ul.nav > li,
.aos-topmenu ul.mod-list > li {
  position: relative;
  display: block;
  float: left;
  height: 26px;
  margin: 0 0 0 1px !important;
  padding: 0 !important;
  border: 0;
  background: none !important;
  list-style: none !important;
}
.aos-topmenu ul.mod-menu > li:first-child,
.aos-topmenu ul.menu > li:first-child,
.aos-topmenu ul.nav > li:first-child,
.aos-topmenu ul.mod-list > li:first-child { margin-left: 0 !important; }
.aos-topmenu ul.mod-menu > li::before,
.aos-topmenu ul.menu > li::before,
.aos-topmenu ul.nav > li::before,
.aos-topmenu ul.mod-list > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 26px;
  background: url('../images/menuseparator.png') center center no-repeat;
}
.aos-topmenu ul.mod-menu > li:first-child::before,
.aos-topmenu ul.menu > li:first-child::before,
.aos-topmenu ul.nav > li:first-child::before,
.aos-topmenu ul.mod-list > li:first-child::before { display: none; }
.aos-topmenu ul.mod-menu > li > a,
.aos-topmenu ul.menu > li > a,
.aos-topmenu ul.nav > li > a,
.aos-topmenu ul.mod-list > li > a,
.aos-topmenu ul.mod-menu > li > span,
.aos-topmenu ul.mod-list > li > span {
  box-sizing: content-box;
  position: relative;
  display: block;
  height: 26px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  color: #e7efa9;
  background: url('../images/menuitem.png') repeat-x top left;
  font: 700 13px/26px var(--aos-font);
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
}
.aos-topmenu li > a:hover,
.aos-topmenu li:hover > a,
.aos-topmenu li > a:focus {
  color: #fdfffb;
  background-position: center left;
}
/* Don't force a different sprite state merely because Joomla marks the page active;
   the original template primarily changed the item on hover. */
.aos-topmenu li.active > a,
.aos-topmenu li.current > a { color: #e7efa9; }
.aos-topmenu li.active > a:hover,
.aos-topmenu li.current > a:hover { color: #fdfffb; background-position: center left; }

/* Exact right-side search geometry. It remains independent of the menu position. */
.aos-navbar .aos-fallback-search,
.aos-navbar .mod-finder,
.aos-navbar .finder,
.aos-navbar .mod-search,
.aos-navbar .search {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 26px;
  margin: 0 !important;
  padding: 3px 5px !important;
}
.aos-navbar .aos-fallback-search input[type="search"],
.aos-navbar .aos-fallback-search input[type="text"],
.aos-navbar .mod-finder input,
.aos-navbar .finder input,
.aos-navbar .mod-search input,
.aos-navbar .search input {
  box-sizing: border-box;
  width: 145px;
  height: 20px;
  margin: 0 3px 0 0 !important;
  padding: 1px 5px !important;
}

/* Footer: restore the original two-layer construction. footer.png fills the
   body and footer_b.png supplies the exact 1198x10 rounded bottom edge. */
.aos-footer {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 15px;
  overflow: hidden;
  color: #454639;
  background: url('../images/footer.png') repeat left bottom;
  font-size: 12px;
}
.aos-footer::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  background: url('../images/footer_b.png') no-repeat bottom center;
  pointer-events: none;
}
.aos-footer > * { position: relative; z-index: 1; }
.aos-footer-text { text-align: center; }
.aos-footer-text p { margin: 0; padding: 0; text-align: center; }

@media (max-width: 900px) {
  .aos-page { width: calc(100% - 10px); max-width: calc(100% - 10px); }
  .aos-navbar { height: auto; min-height: 26px; background-repeat: repeat-x; }
  .aos-navbar-inner { display: flex; height: auto; min-height: 26px; flex-wrap: wrap; }
  .aos-nav-extra-left, .aos-nav-extra-right, .aos-topmenu { float: none; height: auto; }
  .aos-topmenu { flex-basis: 100%; order: 3; }
  .aos-topmenu ul.mod-menu, .aos-topmenu ul.menu, .aos-topmenu ul.nav, .aos-topmenu ul.mod-list { height: auto; }
}
.aos-page::after {
  content: "";
  position: absolute;
  z-index: 60;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 11px;
  background: url('../images/sheet_b.png') no-repeat bottom center;
  pointer-events: none;
}

/* v6.3.0 - header bleed, Joomla 4/5 login and blog navigation reconstruction. */

/* Do not lay the white sheet cap over the photograph. The header has its own
   rounded frame and must visually reach the very top and side edges. */
.aos-page::before { display: none !important; }
.aos-header {
  width: calc(100% + 2px);
  margin-left: -1px;
  margin-right: -1px;
  margin-top: -1px;
  height: 201px;
}
.aos-header::before {
  width: 100%;
  height: 201px;
  background-size: 100% 201px;
}
.aos-header::after {
  top: 0;
  left: 9px;
  right: 9px;
  height: 201px;
  background-size: cover;
}
.aos-header-object {
  left: 50%;
  top: -4px;
  width: 1360px;
  height: 208px;
  margin-left: 0;
  transform: translateX(-50%);
  background-size: 1360px 208px;
  background-position: center top;
  background-repeat: no-repeat;
}

/* Joomla 4/5 mod_login: retain native functionality but make it look and read
   like the original AOS login block. Some Joomla configurations hide labels
   visually in favour of icons; this site intentionally shows the text labels. */
.aos-sidebar .mod-login,
.aos-sidebar form[id^="login-form"] {
  margin: 0;
  padding: 8px 0 0;
  color: #11110e;
  font: 13px/1.35 var(--aos-font);
}
.aos-sidebar .mod-login .visually-hidden,
.aos-sidebar form[id^="login-form"] .visually-hidden {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border: 0 !important;
}
.aos-sidebar .mod-login__username,
.aos-sidebar .mod-login__password,
.aos-sidebar .mod-login__remember,
.aos-sidebar form[id^="login-form"] .control-group,
.aos-sidebar form[id^="login-form"] p {
  clear: both;
  margin: 0 0 7px !important;
  padding: 0;
}
.aos-sidebar .mod-login label,
.aos-sidebar form[id^="login-form"] label {
  display: block;
  float: none;
  width: auto;
  margin: 0 0 2px;
  padding: 0;
  color: #11110e !important;
  font: 13px/1.25 var(--aos-font);
  opacity: 1 !important;
}
.aos-sidebar .mod-login .input-group,
.aos-sidebar form[id^="login-form"] .input-group {
  display: block;
  width: 100%;
}
.aos-sidebar .mod-login .input-group-text,
.aos-sidebar form[id^="login-form"] .input-group-text {
  display: none;
}
.aos-sidebar .mod-login input[type="text"],
.aos-sidebar .mod-login input[type="password"],
.aos-sidebar .mod-login input[type="email"],
.aos-sidebar form[id^="login-form"] input[type="text"],
.aos-sidebar form[id^="login-form"] input[type="password"],
.aos-sidebar form[id^="login-form"] input[type="email"] {
  box-sizing: border-box;
  display: block;
  width: 95%;
  height: 23px;
  margin: 0;
  padding: 2px 4px;
  border: 1px solid #9fa487;
  border-radius: 0;
  background: #fff;
  color: #11110e;
  font: 12px/18px var(--aos-font);
  box-shadow: none;
}
.aos-sidebar .mod-login input[type="checkbox"],
.aos-sidebar form[id^="login-form"] input[type="checkbox"] {
  width: auto;
  height: auto;
  margin: 0 4px 0 0;
  padding: 0;
  vertical-align: middle;
}
.aos-sidebar .mod-login__remember label,
.aos-sidebar form[id^="login-form"] .form-check-label {
  display: inline;
  vertical-align: middle;
}
.aos-sidebar .mod-login .btn,
.aos-sidebar form[id^="login-form"] .btn,
.aos-sidebar form[id^="login-form"] button {
  min-height: 24px;
  margin: 1px 0 5px;
  padding: 2px 9px;
  border: 1px solid #717851;
  border-radius: 2px;
  background: #dce3b7;
  color: #303223;
  font: 12px/18px var(--aos-font);
  box-shadow: none;
}
.aos-sidebar .mod-login__options,
.aos-sidebar form[id^="login-form"] ul {
  margin: 3px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.aos-sidebar .mod-login__options li,
.aos-sidebar form[id^="login-form"] ul li {
  margin: 0 !important;
  padding: 1px 0 !important;
  background: none !important;
  list-style: none !important;
}

/* "Fler artiklar..." / linked blog articles. Joomla versions use several
   class names; style all of them like the original rather than Bootstrap. */
.aos-component .items-more,
.aos-component .com-content-category-blog__items-more,
.aos-component .com-content-category-blog__links,
.aos-component .com-content-blog__links {
  clear: both;
  margin: 10px 0 8px;
  padding: 0;
  border: 0;
  background: transparent;
}
.aos-component .items-more h3,
.aos-component .com-content-category-blog__items-more h3,
.aos-component .com-content-category-blog__links h3,
.aos-component .com-content-blog__links h3 {
  margin: 0 0 5px;
  padding: 0;
  color: #4d4f40;
  font: 700 15px/1.3 var(--aos-font);
}
.aos-component .items-more ol,
.aos-component .items-more ul,
.aos-component .com-content-category-blog__items-more ol,
.aos-component .com-content-category-blog__items-more ul,
.aos-component .com-content-category-blog__links ol,
.aos-component .com-content-category-blog__links ul,
.aos-component .com-content-blog__links ol,
.aos-component .com-content-blog__links ul {
  margin: 0 0 0 24px;
  padding: 0;
  list-style: decimal outside !important;
}
.aos-component .items-more li,
.aos-component .com-content-category-blog__items-more li,
.aos-component .com-content-category-blog__links li,
.aos-component .com-content-blog__links li {
  display: list-item;
  margin: 0;
  padding: 1px 0;
  background: none !important;
  list-style: decimal outside !important;
}

/* Joomla 4/5 pagination markup -> original AOS inline pager. */
.aos-component .pagination__wrapper,
.aos-component .com-content-category-blog__navigation,
.aos-component nav[aria-label*="Pagination"],
.aos-component nav[aria-label*="pagination"] {
  clear: both;
  display: block;
  margin: 8px 0 0;
  padding: 0;
  text-align: center;
}
.aos-component .pagination,
.aos-component ul.pagination {
  display: block !important;
  width: auto;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  list-style: none !important;
  border: 0;
}
.aos-component .pagination .counter,
.aos-component .pagination__counter,
.aos-component .page-link + .counter,
.aos-component p.counter {
  display: block;
  margin: 0 0 4px;
  padding: 0;
  text-align: center;
  color: #11110e;
  font: 13px/1.35 var(--aos-font);
}
.aos-component .pagination li,
.aos-component .pagination .page-item,
.aos-component ul.pagination > li {
  display: inline !important;
  margin: 0 2px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  list-style: none !important;
}
.aos-component .pagination a,
.aos-component .pagination span,
.aos-component .pagination .page-link,
.aos-component ul.pagination > li > a,
.aos-component ul.pagination > li > span {
  display: inline !important;
  float: none;
  min-width: 0;
  margin: 0;
  padding: 2px 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--aos-link);
  font: 13px/1.35 var(--aos-font);
  text-decoration: underline;
}
.aos-component .pagination .active .page-link,
.aos-component .pagination .disabled .page-link,
.aos-component .pagination .disabled span,
.aos-component .pagination li.active span {
  color: #11110e;
  text-decoration: none;
  opacity: 1;
}
.aos-component .pagination a:hover,
.aos-component .pagination .page-link:hover {
  color: #e2a646;
  text-decoration: none;
}


/* v6.4.0 - exact nav edges, untouched Joomla login language/order, rounded bottom shell. */

/* The original top menu visually reaches the sheet edges.  The 1px sheet padding
   must not remain visible as white strips beside the navigation bar. */
.aos-navbar {
  width: calc(100% + 2px);
  margin-left: -1px;
  margin-right: -1px;
  background-color: #4d4f40;
  background-size: 100% 26px;
}

/* Do NOT reinterpret Joomla's accessibility/language markup.  Joomla owns every
   login string and its DOM order.  Restore the framework's visually-hidden
   semantics and style only the real form groups/fields around it. */
.aos-sidebar .mod-login .visually-hidden,
.aos-sidebar form[id^="login-form"] .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Match the legacy login geometry without moving or translating anything. */
.aos-sidebar form[id^="login-form"],
.aos-sidebar .mod-login {
  padding-top: 0;
}
.aos-sidebar form[id^="login-form"] .control-group,
.aos-sidebar .mod-login__username,
.aos-sidebar .mod-login__password,
.aos-sidebar .mod-login__remember {
  display: block;
  margin: .5em 0 0 0 !important;
  padding: 0;
}
.aos-sidebar form[id^="login-form"] label:not(.visually-hidden),
.aos-sidebar .mod-login label:not(.visually-hidden) {
  display: block;
  margin: 0;
  padding: 0;
  color: #11110e !important;
  font: 13px/1.35 var(--aos-font);
}
.aos-sidebar form[id^="login-form"] .input-group,
.aos-sidebar .mod-login .input-group {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}
.aos-sidebar form[id^="login-form"] .input-group-text,
.aos-sidebar .mod-login .input-group-text {
  display: none !important;
}
.aos-sidebar form[id^="login-form"] input[type="text"],
.aos-sidebar form[id^="login-form"] input[type="password"],
.aos-sidebar .mod-login input[type="text"],
.aos-sidebar .mod-login input[type="password"] {
  box-sizing: content-box;
  width: 95%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 1px solid #9fa487;
  border-radius: 0;
  background: #fff;
  color: #11110e;
  font: 13px/1.35 var(--aos-font);
  box-shadow: none;
}
.aos-sidebar form[id^="login-form"] input[type="checkbox"],
.aos-sidebar .mod-login input[type="checkbox"] {
  position: relative;
  top: -1px;
  width: auto;
  height: auto;
  margin: 0 4px 0 0;
  padding: 0;
  vertical-align: bottom;
}
.aos-sidebar form[id^="login-form"] .form-check,
.aos-sidebar .mod-login__remember {
  display: block;
  margin-top: .5em !important;
}
.aos-sidebar form[id^="login-form"] .form-check label,
.aos-sidebar .mod-login__remember label {
  display: inline;
}

/* Complete the sheet/footer like the source site: rounded lower corners and
   visible background below the sheet when the page is scrolled to the end. */
body.aos-site {
  padding-bottom: 22px;
}
.aos-bg-middle,
.aos-bg-top {
  min-height: calc(100vh - 22px);
}
.aos-page {
  margin-bottom: 12px;
  border-radius: 11px;
  overflow: hidden;
}
.aos-footer {
  border-radius: 0 0 10px 10px;
  padding-bottom: 20px;
}
.aos-footer::after {
  border-radius: 0 0 10px 10px;
}
.aos-page::after {
  border-radius: 0 0 11px 11px;
}

@media (max-width: 900px) {
  .aos-navbar {
    width: calc(100% + 2px);
    margin-left: -1px;
    margin-right: -1px;
    background-size: auto 26px;
  }
}


/* v6.5.0 - original login row geometry + full-width expandable footer. */

/* Joomla owns all wording. We only reveal Joomla's translated labels and place
   them on the same row as their controls, as on the original AOS site. */
.aos-sidebar .mod-login .visually-hidden,
.aos-sidebar form[id^="login-form"] .visually-hidden {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border: 0 !important;
}

.aos-sidebar .mod-login__username,
.aos-sidebar .mod-login__password,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]),
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr);
  align-items: center;
  column-gap: 5px;
  margin: 0 0 6px !important;
  padding: 0;
}

.aos-sidebar .mod-login__username > label,
.aos-sidebar .mod-login__password > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]) > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) > label {
  display: block !important;
  grid-column: 1;
  margin: 0 !important;
  padding: 0 !important;
  color: #11110e !important;
  font: 13px/1.2 var(--aos-font) !important;
  white-space: nowrap;
}

.aos-sidebar .mod-login__username .input-group,
.aos-sidebar .mod-login__password .input-group,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]) .input-group,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) .input-group {
  display: block !important;
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.aos-sidebar .mod-login__username input[type="text"],
.aos-sidebar .mod-login__password input[type="password"],
.aos-sidebar form[id^="login-form"] input[type="text"],
.aos-sidebar form[id^="login-form"] input[type="password"] {
  box-sizing: border-box !important;
  display: block;
  width: 100% !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  border: 1px solid #9fa487 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #11110e !important;
  font: 12px/16px var(--aos-font) !important;
  box-shadow: none !important;
}

/* Original order reads: Kom ihåg mig [checkbox]. Joomla may emit checkbox
   before its label, so CSS reorders only those two controls, never the text. */
.aos-sidebar .mod-login__remember,
.aos-sidebar form[id^="login-form"] .form-check {
  display: flex !important;
  align-items: center;
  gap: 5px;
  margin: 2px 0 7px !important;
  padding: 0 !important;
}
.aos-sidebar .mod-login__remember label,
.aos-sidebar form[id^="login-form"] .form-check label {
  order: 1;
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #11110e !important;
  font: 13px/1.2 var(--aos-font) !important;
}
.aos-sidebar .mod-login__remember input[type="checkbox"],
.aos-sidebar form[id^="login-form"] .form-check input[type="checkbox"] {
  order: 2;
  position: static !important;
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Login action follows immediately beneath remember row, left aligned as the source. */
.aos-sidebar .mod-login__submit,
.aos-sidebar form[id^="login-form"] .control-group:has(button),
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="submit"]) {
  margin: 0 0 5px !important;
  padding: 0 !important;
  text-align: left;
}
.aos-sidebar .mod-login__submit .btn,
.aos-sidebar form[id^="login-form"] button[type="submit"],
.aos-sidebar form[id^="login-form"] input[type="submit"] {
  width: auto !important;
  min-width: 0 !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 1px 9px !important;
  border: 1px solid #717851 !important;
  border-radius: 0 !important;
  background: #dce3b7 !important;
  color: #303223 !important;
  font: 12px/18px var(--aos-font) !important;
  box-shadow: none !important;
}
.aos-sidebar .mod-login__options {
  clear: both;
  margin: 5px 0 0 !important;
  padding: 0 !important;
}

/* Footer is a true full-width grey field. The extra rows are deliberately
   separate module positions and add usable vertical capacity without touching
   any of the original 1:1 mappings. */
.aos-footer {
  width: 100% !important;
  min-height: 118px;
  padding: 14px 15px 24px !important;
  background-color: #d7d8cb;
  background-image: url('../images/footer.png');
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 100%;
}
.aos-footer-extra {
  display: block;
  width: 100%;
  min-height: 54px;
  margin: 0 0 8px;
}
.aos-footer-extra > .moduletable,
.aos-footer-extra > .mod-custom,
.aos-footer-extra > div {
  width: 100%;
  margin: 0 0 5px;
}
.aos-footer-text {
  width: 100%;
  text-align: center;
}
.aos-footer::after {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background-size: 100% 10px;
}

@media (max-width: 900px) {
  .aos-sidebar .mod-login__username,
  .aos-sidebar .mod-login__password,
  .aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]),
  .aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) {
    grid-template-columns: 92px minmax(0, 1fr);
  }
}

/* v6.5.1 - only two targeted fixes: original vertical login geometry and
   uninterrupted grey footer down to its rounded bottom edge. */

/* The source AOS login is left aligned: translated Joomla label on its own
   line, then the input directly below it. Joomla still owns all wording. */
.aos-sidebar .mod-login__username,
.aos-sidebar .mod-login__password,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]),
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  text-align: left !important;
}

.aos-sidebar .mod-login__username > label,
.aos-sidebar .mod-login__password > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]) > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) > label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: normal !important;
}

.aos-sidebar .mod-login__username .input-group,
.aos-sidebar .mod-login__password .input-group,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]) .input-group,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) .input-group {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.aos-sidebar .mod-login__username input[type="text"],
.aos-sidebar .mod-login__password input[type="password"],
.aos-sidebar form[id^="login-form"] input[type="text"],
.aos-sidebar form[id^="login-form"] input[type="password"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
}

.aos-sidebar .mod-login__remember,
.aos-sidebar form[id^="login-form"] .form-check,
.aos-sidebar .mod-login__submit,
.aos-sidebar form[id^="login-form"] .control-group:has(button),
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="submit"]),
.aos-sidebar .mod-login__options {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
  justify-content: flex-start !important;
}

/* sheet_b.png is the old white Artisteer sheet bottom and was covering the
   last part of our grey footer. The footer's own footer_b.png now forms the
   sole rounded lower edge. */
.aos-page::after {
  display: none !important;
  content: none !important;
}

.aos-footer {
  margin-bottom: 0 !important;
  background-color: #d7d8cb !important;
  border-radius: 0 0 10px 10px !important;
}
.aos-footer::after {
  display: block !important;
  background-color: #d7d8cb !important;
  border-radius: 0 0 10px 10px !important;
}

/* AOS-template.v.1 final refinements - 2026-08-07 */

/* Login: keep Joomla's translated wording and original left geometry,
   but add the missing vertical air between each label and its field. */
.aos-sidebar .mod-login__username > label,
.aos-sidebar .mod-login__password > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]) > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) > label {
  margin-bottom: 7px !important;
}
.aos-sidebar .mod-login__username input[type="text"],
.aos-sidebar .mod-login__password input[type="password"],
.aos-sidebar form[id^="login-form"] input[type="text"],
.aos-sidebar form[id^="login-form"] input[type="password"] {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

/* Original AOS horizontal menu behaviour: content-sized 26px buttons,
   original sprite states and separator. The modern part is only the ability
   to wrap cleanly when the viewport becomes narrow. */
.aos-topmenu ul.mod-menu,
.aos-topmenu ul.menu,
.aos-topmenu ul.nav,
.aos-topmenu ul.mod-list {
  display: flex !important;
  flex-flow: row nowrap;
  align-items: stretch;
  width: auto !important;
  min-width: 0;
  height: 26px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.aos-topmenu ul.mod-menu > li,
.aos-topmenu ul.menu > li,
.aos-topmenu ul.nav > li,
.aos-topmenu ul.mod-list > li {
  position: relative;
  flex: 0 0 auto;
  height: 26px;
  margin: 0 0 0 1px !important;
  padding: 0 !important;
  list-style: none !important;
}
.aos-topmenu ul.mod-menu > li:first-child,
.aos-topmenu ul.menu > li:first-child,
.aos-topmenu ul.nav > li:first-child,
.aos-topmenu ul.mod-list > li:first-child { margin-left: 0 !important; }
.aos-topmenu ul.mod-menu > li::before,
.aos-topmenu ul.menu > li::before,
.aos-topmenu ul.nav > li::before,
.aos-topmenu ul.mod-list > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 26px;
  background: url('../images/menuseparator.png') center center no-repeat;
  z-index: 2;
}
.aos-topmenu ul.mod-menu > li:first-child::before,
.aos-topmenu ul.menu > li:first-child::before,
.aos-topmenu ul.nav > li:first-child::before,
.aos-topmenu ul.mod-list > li:first-child::before { display: none; }
.aos-topmenu ul.mod-menu > li > a,
.aos-topmenu ul.menu > li > a,
.aos-topmenu ul.nav > li > a,
.aos-topmenu ul.mod-list > li > a {
  position: relative;
  display: block !important;
  height: 26px;
  padding: 0 22px !important;
  line-height: 26px !important;
  white-space: nowrap;
  text-align: center;
  text-decoration: none !important;
  font-weight: bold;
  color: #E7EFA9 !important;
  background-image: url('../images/menuitem.png');
  background-repeat: repeat-x;
  background-position: left top;
}
.aos-topmenu ul.mod-menu > li > a:hover,
.aos-topmenu ul.menu > li > a:hover,
.aos-topmenu ul.nav > li > a:hover,
.aos-topmenu ul.mod-list > li > a:hover,
.aos-topmenu li:hover > a {
  color: #FDFEFB !important;
  background-position: left center;
}
.aos-topmenu li.current > a,
.aos-topmenu li.active > a,
.aos-topmenu a[aria-current="page"] {
  color: #FDFEFB !important;
  background-position: left bottom;
}

/* Original content-link presentation. */
.aos-component a:link { color: #BA4B1C; text-decoration: underline; }
.aos-component a:visited { color: #97A720; }
.aos-component a:hover,
.aos-component a:focus { color: #E2A646; text-decoration: none; }

/* Keep navigation usable on narrow screens without changing desktop geometry. */
@media (max-width: 900px) {
  .aos-navbar,
  .aos-navbar-inner { height: auto !important; min-height: 26px; }
  .aos-navbar-inner { display: flex; flex-wrap: wrap; align-items: flex-start; }
  .aos-topmenu { flex: 1 1 100%; order: 3; width: 100%; height: auto; }
  .aos-topmenu ul.mod-menu,
  .aos-topmenu ul.menu,
  .aos-topmenu ul.nav,
  .aos-topmenu ul.mod-list {
    flex-wrap: wrap !important;
    width: 100% !important;
    height: auto;
  }
  .aos-topmenu ul.mod-menu > li,
  .aos-topmenu ul.menu > li,
  .aos-topmenu ul.nav > li,
  .aos-topmenu ul.mod-list > li {
    height: 26px;
  }
}
@media (max-width: 520px) {
  .aos-topmenu ul.mod-menu > li,
  .aos-topmenu ul.menu > li,
  .aos-topmenu ul.nav > li,
  .aos-topmenu ul.mod-list > li {
    flex: 1 1 50%;
    margin-left: 0 !important;
  }
  .aos-topmenu ul.mod-menu > li > a,
  .aos-topmenu ul.menu > li > a,
  .aos-topmenu ul.nav > li > a,
  .aos-topmenu ul.mod-list > li > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Template credit: deliberately discreet, but not hidden/cloaked. */
.aos-template-credit {
  margin-top: 8px;
  font-size: 11px;
  text-align: center;
  color: inherit;
}
.aos-template-credit a,
.aos-template-credit a:visited {
  color: inherit;
  text-decoration: none;
}
.aos-template-credit a:hover,
.aos-template-credit a:focus { text-decoration: underline; }
\n\n/* AOS-template.v.1.1 - login spacing, responsive/reactive links and final AISAB footer. */\n\n/* Login: add a clear original-style gap between translated Joomla labels and fields. */\n.aos-sidebar .mod-login__username input[type="text"],\n.aos-sidebar .mod-login__password input[type="password"],\n.aos-sidebar form[id^="login-form"] input[type="text"],\n.aos-sidebar form[id^="login-form"] input[type="password"] {\n  margin-top: 6px !important;\n  margin-left: 0 !important;\n}\n\n/* All ordinary links: preserve the original AOS reaction on mouse/keyboard while\n   remaining usable on narrow screens and touch devices. */\n.aos-page a {\n  max-width: 100%;\n  overflow-wrap: anywhere;\n  word-break: normal;\n}\n.aos-main a:link,\n.aos-sidebar a:link,\n.aos-top-row a:link,\n.aos-bottom-row a:link,\n.aos-banner a:link {\n  color: #BA4B1C;\n  text-decoration: underline;\n}\n.aos-main a:visited,\n.aos-sidebar a:visited,\n.aos-top-row a:visited,\n.aos-bottom-row a:visited,\n.aos-banner a:visited {\n  color: #97A720;\n}\n.aos-main a:hover, .aos-main a:focus-visible,\n.aos-sidebar a:hover, .aos-sidebar a:focus-visible,\n.aos-top-row a:hover, .aos-top-row a:focus-visible,\n.aos-bottom-row a:hover, .aos-bottom-row a:focus-visible,\n.aos-banner a:hover, .aos-banner a:focus-visible {\n  color: #E2A646;\n  text-decoration: none;\n}\n\n/* Vertical module menus: the whole row reacts, not only the text. */\n.aos-sidebar ul.mod-menu > li > a,\n.aos-sidebar ul.menu > li > a,\n.aos-sidebar ul.mod-list > li > a {\n  display: block;\n  width: 100%;\n  box-sizing: border-box;\n  padding: 3px 4px 3px 16px;\n}\n.aos-sidebar ul.mod-menu > li > a:hover,\n.aos-sidebar ul.mod-menu > li > a:focus-visible,\n.aos-sidebar ul.menu > li > a:hover,\n.aos-sidebar ul.menu > li > a:focus-visible,\n.aos-sidebar ul.mod-list > li > a:hover,\n.aos-sidebar ul.mod-list > li > a:focus-visible {\n  background-color: rgba(226, 166, 70, 0.10);\n}\n\n/* Top menu: retain original 26px desktop buttons and sprite states, while\n   allowing every item/link to resize and wrap cleanly at smaller widths. */\n.aos-topmenu a {\n  max-width: 100%;\n  box-sizing: border-box;\n}\n@media (max-width: 900px) {\n  .aos-topmenu,\n  .aos-topmenu ul.mod-menu,\n  .aos-topmenu ul.menu,\n  .aos-topmenu ul.nav,\n  .aos-topmenu ul.mod-list {\n    width: 100% !important;\n  }\n  .aos-topmenu ul.mod-menu > li,\n  .aos-topmenu ul.menu > li,\n  .aos-topmenu ul.nav > li,\n  .aos-topmenu ul.mod-list > li {\n    flex: 1 1 auto !important;\n    min-width: max-content;\n  }\n  .aos-topmenu ul.mod-menu > li > a,\n  .aos-topmenu ul.menu > li > a,\n  .aos-topmenu ul.nav > li > a,\n  .aos-topmenu ul.mod-list > li > a {\n    padding-left: 14px !important;\n    padding-right: 14px !important;\n  }\n}\n@media (max-width: 620px) {\n  .aos-topmenu ul.mod-menu > li,\n  .aos-topmenu ul.menu > li,\n  .aos-topmenu ul.nav > li,\n  .aos-topmenu ul.mod-list > li {\n    flex: 1 1 50% !important;\n    min-width: 0 !important;\n    margin-left: 0 !important;\n  }\n  .aos-topmenu ul.mod-menu > li > a,\n  .aos-topmenu ul.menu > li > a,\n  .aos-topmenu ul.nav > li > a,\n  .aos-topmenu ul.mod-list > li > a {\n    width: 100%;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n  .aos-card-content a,\n  .aos-component a,\n  .aos-footer a {\n    overflow-wrap: anywhere;\n  }\n}\n@media (max-width: 390px) {\n  .aos-topmenu ul.mod-menu > li,\n  .aos-topmenu ul.menu > li,\n  .aos-topmenu ul.nav > li,\n  .aos-topmenu ul.mod-list > li {\n    flex-basis: 100% !important;\n  }\n}\n\n/* Final footer text: one full linked copyright line, as requested. */\n.aos-footer .aos-copyright {\n  margin: 8px 0 0 !important;\n  text-align: center;\n}\n.aos-footer .aos-copyright a,\n.aos-footer .aos-copyright a:visited {\n  color: #454639 !important;\n  text-decoration: none !important;\n}\n.aos-footer .aos-copyright a:hover,\n.aos-footer .aos-copyright a:focus-visible {\n  color: #BA4B1C !important;\n  text-decoration: underline !important;\n}\n

/* ========================================================================
   AOS-Template 1.2.0 - final desktop baseline
   The desktop page is frozen here before tablet/mobile work begins.
   ======================================================================== */

/* Login: labels above fields, with original-style vertical spacing. */
.aos-sidebar .mod-login__username,
.aos-sidebar .mod-login__password,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]),
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  text-align: left !important;
}
.aos-sidebar .mod-login__username > label,
.aos-sidebar .mod-login__password > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="text"]) > label,
.aos-sidebar form[id^="login-form"] .control-group:has(input[type="password"]) > label {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  text-align: left !important;
}
.aos-sidebar .mod-login__username input,
.aos-sidebar .mod-login__password input,
.aos-sidebar form[id^="login-form"] input[type="text"],
.aos-sidebar form[id^="login-form"] input[type="password"] {
  display: block !important;
  width: 95% !important;
  max-width: none !important;
  margin: 9px 0 0 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

/* All ordinary AOS links: original colour states, now targeting the actual
   .aos-content class as well as side/top/bottom/footer modules. */
.aos-content a:link,
.aos-sidebar a:link,
.aos-top-row a:link,
.aos-bottom-row a:link,
.aos-banner a:link {
  color: #BA4B1C !important;
  text-decoration: underline !important;
  transition: color .12s ease, background-color .12s ease, text-decoration-color .12s ease;
}
.aos-content a:visited,
.aos-sidebar a:visited,
.aos-top-row a:visited,
.aos-bottom-row a:visited,
.aos-banner a:visited {
  color: #97A720 !important;
}
.aos-content a:hover,
.aos-content a:focus-visible,
.aos-sidebar a:hover,
.aos-sidebar a:focus-visible,
.aos-top-row a:hover,
.aos-top-row a:focus-visible,
.aos-bottom-row a:hover,
.aos-bottom-row a:focus-visible,
.aos-banner a:hover,
.aos-banner a:focus-visible {
  color: #E2A646 !important;
  text-decoration: none !important;
}

/* Vertical menu links react across the entire clickable row. */
.aos-sidebar ul.mod-menu > li > a,
.aos-sidebar ul.menu > li > a,
.aos-sidebar ul.nav > li > a,
.aos-sidebar ul.mod-list > li > a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 3px 5px 3px 16px !important;
  transition: color .12s ease, background-color .12s ease, padding-left .12s ease;
}
.aos-sidebar ul.mod-menu > li > a:hover,
.aos-sidebar ul.mod-menu > li > a:focus-visible,
.aos-sidebar ul.menu > li > a:hover,
.aos-sidebar ul.menu > li > a:focus-visible,
.aos-sidebar ul.nav > li > a:hover,
.aos-sidebar ul.nav > li > a:focus-visible,
.aos-sidebar ul.mod-list > li > a:hover,
.aos-sidebar ul.mod-list > li > a:focus-visible {
  color: #E2A646 !important;
  background-color: rgba(226, 166, 70, .12) !important;
  text-decoration: none !important;
  padding-left: 19px !important;
}

/* Top menu - explicit interactive states for mouse, keyboard and active item. */
.aos-topmenu ul.mod-menu > li > a,
.aos-topmenu ul.menu > li > a,
.aos-topmenu ul.nav > li > a,
.aos-topmenu ul.mod-list > li > a {
  transition: color .10s ease, filter .10s ease !important;
}
.aos-topmenu ul.mod-menu > li > a:hover,
.aos-topmenu ul.mod-menu > li > a:focus-visible,
.aos-topmenu ul.menu > li > a:hover,
.aos-topmenu ul.menu > li > a:focus-visible,
.aos-topmenu ul.nav > li > a:hover,
.aos-topmenu ul.nav > li > a:focus-visible,
.aos-topmenu ul.mod-list > li > a:hover,
.aos-topmenu ul.mod-list > li > a:focus-visible,
.aos-topmenu li:hover > a,
.aos-topmenu li:focus-within > a {
  color: #FDFEFB !important;
  background-position: left center !important;
  filter: brightness(1.08) !important;
  outline: none !important;
}
.aos-topmenu li.current > a,
.aos-topmenu li.active > a,
.aos-topmenu a[aria-current="page"],
.aos-topmenu a[aria-current="true"] {
  color: #FDFEFB !important;
  background-position: left bottom !important;
  filter: none !important;
}

/* Footer is one uninterrupted grey field through the rounded bottom. */
.aos-footer {
  margin-bottom: 22px !important;
  padding-bottom: 18px !important;
  background-color: #D7D7D0 !important;
  background-image: url('../images/footer.png') !important;
  background-repeat: repeat-x !important;
  background-position: left top !important;
  border-radius: 0 0 10px 10px !important;
  overflow: visible !important;
}
.aos-footer::after {
  content: "";
  display: block;
  position: absolute;
  left: 0 !important;
  right: 0 !important;
  bottom: -10px !important;
  width: 100% !important;
  height: 10px !important;
  background: url('../images/footer_b.png') repeat-x left bottom !important;
  background-size: 100% 10px !important;
  border-radius: 0 0 10px 10px !important;
  pointer-events: none;
}
.aos-copyright a,
.aos-copyright a:visited {
  color: #454639 !important;
  text-decoration: none !important;
}
.aos-copyright a:hover,
.aos-copyright a:focus-visible {
  color: #BA4B1C !important;
  text-decoration: underline !important;
}

/* v1.2.2 - footer regression fix.
   The scroll room belongs to the page background, not to the footer itself.
   Keeping margin on .aos-footer lifts the complete grey field upward. */
body.aos-site {
  padding-bottom: 22px !important;
}
.aos-page {
  margin-bottom: 0 !important;
}
.aos-footer {
  margin-bottom: 0 !important;
  padding-bottom: 28px !important;
  background-color: #D7D7D0 !important;
  border-radius: 0 0 10px 10px !important;
}
.aos-footer::after {
  bottom: -10px !important;
  background-color: #D7D7D0 !important;
}
