
*{box-sizing:border-box}
body{margin:0;background:#e5e5e5;color:#555;font:13px/1.6 Helvetica,Arial,sans-serif}
a{color:#165b92}
.site-shell{max-width:1000px;margin:auto;background:transparent;min-height:100vh}
.site-header{padding:16px 0 24px}
.site-header img{max-width:100%;height:auto}
.site-navigation{background:#24547e;color:white;padding:0}
.site-navigation ul{list-style:none;margin:0;padding:0}
.site-navigation>ul{display:flex;flex-wrap:wrap}
.site-navigation li{position:relative}
.site-navigation a,.site-navigation .nav-header,
.site-navigation .separator{display:block;padding:12px 14px;color:white;text-decoration:none}
.site-navigation li>ul{display:none;position:absolute;z-index:1000;
background:#173953;min-width:220px;box-shadow:0 4px 10px #0003}
.site-navigation li:hover>ul,.site-navigation li:focus-within>ul{display:block}
.site-navigation li>ul ul{left:100%;top:0}
.site-navigation a:hover,.site-navigation a:focus{background:#285773}
.site-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 0}
.site-layout.with-sidebar{grid-template-columns:minmax(0,1fr) 200px}
main{min-width:0;overflow-wrap:break-word}
main img{max-width:100%;height:auto}
main .item-page{overflow-x:auto}
table{border-collapse:collapse}
.site-sidebar .moduletable{margin-bottom:24px}
.site-sidebar img{max-width:100%;height:auto}
input,select,textarea,button{font:inherit;max-width:100%}
.site-footer{border-top:1px solid #ddd;padding:20px 24px;color:#52606b}
.skip-link{position:absolute;left:-10000px}
.skip-link:focus{left:12px;top:12px;background:white;padding:12px;z-index:2000}
@media(max-width:800px){
.site-layout.with-sidebar{grid-template-columns:minmax(0,1fr)}
.site-layout{padding:12px 0}
.site-navigation>ul{display:block}
.site-navigation li>ul,.site-navigation li>ul ul{
position:static;box-shadow:none;margin-left:16px}
}

/* Horizontal desktop submenu; nested items open beneath their parent. */
@media(min-width:801px){
  .site-navigation{position:relative}
  .site-navigation>ul>li{position:static}
  .site-navigation>ul>li>ul{
    left:0;right:0;top:100%;
    flex-wrap:wrap;min-width:0;
  }
  .site-navigation>ul>li:hover>ul,
  .site-navigation>ul>li:focus-within>ul{display:flex}
  .site-navigation>ul>li>ul>li{position:relative}
  .site-navigation>ul>li>ul>li>ul{left:0;top:100%}
  .site-navigation>ul>li>ul>li>ul ul{left:100%;top:0}
}

/* Sidebar panels and menu buttons. */
.site-sidebar .moduletable{
  padding:16px;
  border:1px solid #e1e5e9;
  background:#fff;
  margin-bottom:18px;
}
.site-sidebar .moduletable h3{
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid #e1e5e9;
  font-size:13px;
  font-weight:normal;
  text-transform:uppercase;
  color:#173953;
}
.site-sidebar ul.menu{
  list-style:none;
  margin:0;
  padding:0;
}
.site-sidebar ul.menu li{margin:0 0 6px}
.site-sidebar ul.menu a{
  display:block;
  padding:8px 12px;
  border:1px solid #d8dde2;
  background:linear-gradient(#fff,#f3f5f7);
  text-decoration:none;
  font-size:13px;
}
.site-sidebar ul.menu a:hover,
.site-sidebar ul.menu a:focus{
  background:#e8f0f7;
  border-color:#8da9c0;
}

/* Compact, right-aligned article action icons. */
.item-page > .icons{
  display:flex;
  justify-content:flex-end;
  margin:0 0 10px;
}
.item-page > .icons .btn-group{position:static}
.item-page > .icons .dropdown-toggle{display:none}
.item-page > .icons .dropdown-menu{
  display:flex;
  position:static;
  float:none;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
  min-width:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.item-page > .icons .dropdown-menu li{margin:0;padding:0}
.item-page > .icons .print-icon a,
.item-page > .icons .email-icon a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  padding:0;
  color:#596773;
  text-decoration:none;
  font-size:0;
  border-radius:3px;
}
.item-page > .icons .print-icon a::before{
  content:"\1F5A8";
  font-size:18px;
}
.item-page > .icons .email-icon a::before{
  content:"\2709";
  font-size:18px;
}
.item-page > .icons .print-icon a:hover,
.item-page > .icons .email-icon a:hover,
.item-page > .icons a:focus{
  background:#e8f0f7;
}
.item-page > .icons .print-icon a > *,
.item-page > .icons .email-icon a > *{display:none}

/* Profile editing: compact sections and aligned labels. */
.profile-edit fieldset{
  border:0;
  padding:0;
  margin:0 0 26px;
  min-width:0;
}
.profile-edit legend{
  display:block;
  width:100%;
  border:0;
  padding:0;
  margin:0 0 18px;
  font-size:15px;
  font-weight:bold;
  color:#59636c;
}
.profile-edit .control-group{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin:0 0 8px;
}
.profile-edit .control-label{
  flex:0 0 190px;
  padding-top:5px;
  font-size:13px;
}
.profile-edit .control-label label{margin:0}
.profile-edit .controls{
  margin:0;
  min-width:0;
  flex:1;
}
.profile-edit input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.profile-edit select{
  width:230px;
  max-width:100%;
  min-height:28px;
  padding:4px 7px;
  border:1px solid #d5d9dd;
  background:#f6f6f6;
  font-size:13px;
}
.profile-edit .chzn-container{
  max-width:100%;
}
.profile-edit textarea{
  width:350px;
  max-width:100%;
}
.profile-edit .form-actions{
  margin-top:20px;
}
.profile-edit button,
.profile-edit .btn{
  display:inline-block;
  padding:7px 14px;
  border:1px solid #ccd3da;
  background:#f3f5f7;
  color:#173953;
  text-decoration:none;
  cursor:pointer;
}
@media(max-width:600px){
  .profile-edit .control-group{display:block}
  .profile-edit .control-label{padding:0;margin-bottom:4px}
}

/* Restore the profile calendar button's visible icon. */
.profile-edit .field-calendar button .icon-calendar::before,
.profile-edit .input-append button .icon-calendar::before{
  content:"\1F4C5";
  font-family:Arial,sans-serif;
  font-size:16px;
  font-style:normal;
  line-height:1;
}
.profile-edit .icon-calendar{
  display:inline-block;
  width:18px;
  height:18px;
}

/* Shared presentation: independent of JA Nex and JAT3 assets. */
.site-navigation>ul>li>a{border-right:1px solid #d9e1e8;font-size:12px;font-weight:bold}
.site-navigation>ul>li.current>a{background:linear-gradient(#fff,#e9e9e9);color:#333}
.site-navigation a:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #2674ad;outline-offset:2px}
.component-panel,main>.moduletable{
 background:#fff;border:1px solid #e5e5e5;padding:15px;margin-bottom:10px;
}
main>.moduletable{padding:25px 24px}
main>.moduletable>h3{font-size:16px;font-weight:normal;margin:8px 0 18px}
.component-panel:empty{display:none}
.component-panel h1,.component-panel h2{font-weight:normal;line-height:1.3;color:#222}
.component-panel h1{font-size:24px;margin:0 0 14px}
.component-panel h2{font-size:22px;margin:12px 0}
.component-panel .page-header{border-bottom:1px solid #e3e3e3;margin-bottom:10px}
.site-sidebar .moduletable{border-color:#e5e5e5;margin:0 0 10px;padding:15px}
.site-sidebar .moduletable h3{font-size:12px;margin:-15px -15px 15px;padding:12px 15px}
.site-sidebar ul.menu a{font-size:12px;padding:5px 10px}
input,select,textarea,button{color:inherit}
input[type="text"],input[type="email"],input[type="password"],input[type="number"],
input[type="date"],input[type="search"],input[type="url"],textarea,select{
 border:1px solid #d5d5d5;border-right-color:#e4e4e4;border-bottom-color:#e4e4e4;
 background:#f5f5f5;padding:4px 6px;font:13px Helvetica,Arial,sans-serif;
}
input:focus,textarea:focus,select:focus{background:#fff}
button,input[type="submit"],input[type="button"],.btn,.button{
 border:1px solid #ddd;background:linear-gradient(#fff,#f2f2f2);color:#555;
 padding:5px 10px;font:13px Helvetica,Arial,sans-serif;cursor:pointer;
}
.btn,.button{display:inline-block;text-decoration:none}
button:hover,.btn:hover,.button:hover{background:#fff;color:#24547e}
input[type="checkbox"],input[type="radio"]{width:auto;vertical-align:middle}
input[type="image"]{width:auto;height:auto;border:0;padding:0;background:none}
.controls .help-block,.help-block{display:block;margin:5px 0;color:#666;font-size:12px}
.element-invisible{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pull-right{float:right}.pull-left{float:left}.clearfix::after{content:"";display:table;clear:both}
.table{width:100%;margin-bottom:16px}.table th,.table td{padding:7px 9px;border-bottom:1px solid #ddd;text-align:left}
.table th{background:#f1f1f1;font-weight:bold}.table-striped tbody tr:nth-child(odd){background:#fafafa}
.table-bordered th,.table-bordered td{border:1px solid #ddd}
.control-group{margin-bottom:12px}.control-label label{display:block;margin-bottom:4px}
form legend{font-weight:bold}fieldset{min-width:0}
.form-actions{padding-top:12px;margin-top:16px;border-top:1px solid #eee}
.alert{padding:10px 14px;margin:0 0 12px;border:1px solid #d4dee7;background:#eef5fa}
.alert-error,.alert-danger{background:#fff0ef;border-color:#e8c5c2}
.alert-success{background:#eff8ee;border-color:#c7dfc3}
.site-footer{font-size:12px;padding:15px 0}
@media(max-width:1020px){.site-shell{margin:0 12px}}
@media(max-width:800px){
 .site-header{padding:12px 0}.site-layout.with-sidebar{grid-template-columns:minmax(0,1fr)}
 .component-panel,main>.moduletable{padding:15px}.site-sidebar{min-width:0}
}
@media print{
 body,.site-shell{background:#fff}.site-shell{max-width:none;margin:0}
 .site-header,.site-navigation,.site-sidebar,.site-footer,.icons,.skip-link{display:none!important}
 .site-layout.with-sidebar{display:block}.component-panel{border:0;padding:0}
}

/* Joomla frontend module editing: scoped controls and accessible tooltips. */
.site-shell :has(> a.jmodedit){position:relative}
.site-shell a.jmodedit{
  position:absolute;top:.25rem;right:.25rem;z-index:1100;
  display:inline-flex;align-items:center;justify-content:center;
  width:1.75rem;height:1.75rem;margin:0;padding:0;
  border:1px solid #9eafbf;border-radius:3px;
  background:#fff;color:#173953;text-decoration:none;line-height:1;
}
.site-shell a.jmodedit:hover,
.site-shell a.jmodedit:focus{background:#e8f0f7;color:#173953}
.site-shell a.jmodedit:focus-visible{outline:2px solid #2674ad;outline-offset:2px}
.site-shell a.jmodedit .icon-edit::before{
  content:"\270E";font-family:Arial,sans-serif;font-size:18px;font-style:normal;
}
.site-shell a.jmodedit .visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);
  white-space:nowrap;border:0;
}
.site-shell a.jmodedit + [role="tooltip"]{
  display:none;position:absolute;top:2rem;right:.25rem;z-index:1200;
  width:max-content;max-width:min(22rem,calc(100vw - 2rem));
  padding:8px 10px;border:1px solid #9eafbf;border-radius:3px;
  background:#173953;color:#fff;box-shadow:0 3px 8px #0003;
  font:12px/1.5 Helvetica,Arial,sans-serif;text-align:left;
  white-space:normal;overflow-wrap:anywhere;
}
.site-shell a.jmodedit:hover + [role="tooltip"],
.site-shell a.jmodedit:focus + [role="tooltip"],
.site-shell a.jmodedit + [role="tooltip"]:hover{display:block}
@media print{
  .site-shell a.jmodedit,
  .site-shell a.jmodedit + [role="tooltip"]{display:none!important}
}

/* Joomla 6 menu disclosure buttons: keep labels accessible without extra rows. */
.site-navigation .visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);
  white-space:nowrap;border:0;
}
.site-navigation li:has(> .mod-menu__toggle-sub){
  display:flex;flex-wrap:wrap;align-items:stretch;
}
.site-navigation li:has(> .mod-menu__toggle-sub)>a{flex:1}
.site-navigation button.mod-menu__toggle-sub{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 26px;width:26px;min-height:40px;margin:0;padding:0;
  border:0;border-left:1px solid #ffffff40;border-radius:0;
  background:transparent;color:#fff;box-shadow:none;
}
.site-navigation button.mod-menu__toggle-sub:hover,
.site-navigation button.mod-menu__toggle-sub:focus{background:#173953;color:#fff}
.site-navigation .mod-menu__toggle-sub .icon-chevron-down{
  display:inline-block;margin:0;line-height:1;
}
.site-navigation .mod-menu__toggle-sub .icon-chevron-down::before{
  content:"\25BE";font-family:Arial,sans-serif;font-size:16px;font-style:normal;
}
.site-navigation .mod-menu__toggle-sub[aria-expanded="true"] .icon-chevron-down{
  transform:rotate(180deg);
}
.site-navigation button.mod-menu__toggle-sub:has(> .mod-menu__heading),
.site-navigation button.mod-menu__toggle-sub:has(> .mod-menu__separator){
  flex:1 1 auto;width:auto;padding:0 10px;border-left:0;
}
/* Core menu.js controls state, including keyboard and touch interactions. */
.site-navigation .mod-menu__sub[aria-hidden="true"]{display:none}
.site-navigation .mod-menu__sub[aria-hidden="false"]{display:block}
@media(min-width:801px){
  .site-navigation>ul>li>.mod-menu__sub[aria-hidden="false"]{display:flex}
}
@media(max-width:800px){
  .site-navigation .mod-menu__sub{flex:0 0 calc(100% - 16px);width:calc(100% - 16px)}
}

/* Keep each parent label and disclosure arrow inside the same visual boundary. */
.site-navigation>ul>li{border-right:1px solid #d9e1e8}
.site-navigation>ul>li>a{border-right:0}
.site-navigation>ul>li:has(> .mod-menu__toggle-sub)>a{padding-right:4px}
.site-navigation button.mod-menu__toggle-sub{border-left:0}
.site-navigation>ul>li:hover>a,
.site-navigation>ul>li:hover>button.mod-menu__toggle-sub{background:#285773}
