/* ==========================================================
   APPEND THIS TO THE END OF site.css
   Header and footer layout for the DBIM-style header (Accra)
   ========================================================== */

/* ---------- HEADER LAYOUT ---------- */
a:hover {
    text-decoration: underline !important;

}
#header {
  background: #fff;
}

.header-container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  float: none;            /* old rule floats every <header> element */
  width: 100%;
  padding: 10px 0;
}

/* ---------- LOGO ---------- */
.header-container .logo {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex: 0 1 auto;
  min-width: 0;
}

.logo-img {
  height: auto;
  width: 70px;
  max-width: none;
}

.logo-text-wrapper {
  display: flex;
  flex-direction: column;
}

.logo-text {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--brand-primary);
}

.logo-subtext {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  color: var(--text-on-light);
}

/* ---------- SEARCH ---------- */
.header-container form[role="search"] {
  flex: 1 1 320px;
  max-width: 320px;
  margin: 0;
}

.search-box {
  display: flex;
  width: 100%;
  background: #fff;
  border: 2px solid var(--brand-primary);
  border-radius: 6px;
  overflow: hidden;
}

.search-box input[type="text"] {
  flex: 1;
  min-width: 0;
  padding: 8px 12px;
  font-size: 14px;
  color: var(--text-on-light);
  background: #fff;
  border: 0;
  outline: 0;
}

.search-box input[type="text"]:focus {
  box-shadow: inset 0 0 0 2px var(--brand-secondary);
}

.search-box button {
  padding: 0 16px;
  font-size: 16px;
  color: #fff;
  background: var(--brand-primary);
  border: 0;
  cursor: pointer;
}

.search-box button:hover,
.search-box button:focus {
  background: var(--brand-secondary);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- HEADER TOOLS (skip, language, contrast, accessibility) ---------- */
.header-tools {
  flex: 0 0 auto;
}

.icon-bar li {
  position: relative;
}

.toolIcon {
  cursor: pointer;
  line-height: 0;
}

.header-tools a.toolIcon {
  display: inline-block;
  padding: 5px;
}

.header-tools a.toolIcon:hover {
  background-color: #e8efff;
  border-radius: 5px;
}

.header-tools button:focus-visible,
.header-tools a:focus-visible {
  outline: 2px solid var(--brand-primary);
  outline-offset: 2px;
}

/* ".header-tools button" (site.css) would otherwise flatten the panel buttons */
.header-tools .access_panel_column {
  display: flex;
  padding: 15px;
  background: #fff;
  border: 1px solid #25578c;
  border-radius: 10px;
  cursor: pointer;
}

.header-tools .access_panel_reset {
  display: block;
}

.access_panel {
  max-width: calc(100vw - 20px);
}

/* ---------- LANGUAGE (Google Translate) ---------- */
.translate-item {
  position: relative;
}

.translator-box {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 9999;
  min-width: 170px;
  padding: 8px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.translator-box.is-open {
  display: block;
}

.translator-box .goog-te-gadget {
  font-size: 0;
}

.translator-box .goog-te-combo {
  width: 100%;
  padding: 4px;
  font-size: 14px;
}

.goog-te-banner-frame.skiptranslate {
  display: none !important;
}

body {
  top: 0 !important;
}




/* ---------- HEADER: TABLET AND MOBILE ---------- */
@media only screen and (max-width: 991px) {
  .header-container {
    flex-wrap: wrap;
  }

  .header-container form[role="search"] {
    order: 3;
    flex: 1 1 100%;
    max-width: none;
  }
}

@media only screen and (max-width: 767px) {
  .logo-img {
    height: 50px;
  }

  .logo-text {
    font-size: 18px;
  }

  .logo-subtext {
    font-size: 13px;
  }
}

/* ---------- FOOTER ---------- */
/* .footerCont .footerLeft {
  width: 100%;
  float: none;
  text-align: center;
}

.footerCont .footerLinks {
  flex-wrap: wrap;
  row-gap: 6px;
}

.footerCont .socialicons {
  margin: 12px 0;
}

.footerCont hr.lightline {
  border-color: rgba(255, 255, 255, 0.4);
} */

/* ==========================================================
   FIX: header tool icons in one horizontal row + accessibility panel
   (high specificity so older ul/li rules in 5.css / style.css cannot override)
   ========================================================== */
.header-container .header-tools {
  display: block;
  flex: 0 0 auto;
  width: auto;
  float: none;
}

.header-container .header-tools ul.icon-bar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: flex-end;
  width: auto;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

/* ul:before / ul:after clearfix in 5.css would become empty flex items */
.header-container .header-tools ul.icon-bar::before,
.header-container .header-tools ul.icon-bar::after {
  content: none !important;
  display: none !important;
}

.header-container .header-tools ul.icon-bar > li {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}

/* ---------- Accessibility panel: floats over the page, never inside the header flow ---------- */
.header-container .access_menu .access_panel {
  position: absolute !important;
  top: calc(100% + 12px);
  right: 0;
  left: auto;
  z-index: 100000;
  width: 450px;
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
  padding: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.header-container .access_panel .accessibility-panel__header {
  margin: -12px -12px 12px;
}

.accessibility-panel__header
{
      display: flex;
    align-items: center;
    justify-content: space-between;
    margin: -12px -12px 12px;
    padding: 10px 12px;
    background: #1a2a6c;
    border-radius: 6px 6px 0 0;

}
.accessibility-panel__title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.3;
    color: #fff !important;
    text-align: left;
    text-transform: none;
}
.access_panel_reset {
    width: 100%;
    padding: 10px;
    background: #fff !important;
    color: #1a2a6c !important;
    border: 2px solid #1a2a6c !important;
    border-radius: 6px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.accessibility-panel__close {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    background: transparent !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 4px;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.header-container .access_panel .access_panel_row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.header-container .access_panel .access_panel_row > .access_panel_column {
  flex: 1 1 0;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}

.header-container .access_panel .access_panel_column img {
  width: 32px;
  height: 32px;
}

.header-container .access_panel .access_panel_column span {
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}
.socialicons
{
display: flex;
}
    
.socialicons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #fff;
    color: #fff;
    text-decoration: none;
    padding: 5px;
        margin: 0px 2px;
}
.socialicons img {
    filter: brightness(0) invert(1);
    transition: filter .3s;
}
@media only screen and (max-width: 767px) {
  .header-container .access_menu .access_panel {
    width: 340px;
    right: -40px;
  }
}

/* ==========================================================
   FIX 2: no grey button background + vertical separators between icons
   ========================================================== */

/* Tool buttons (not the panel buttons) must be transparent */
.header-container .header-tools ul.icon-bar button.toolIcon {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  padding: 5px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 5px;
  cursor: pointer;
}

.header-container .header-tools ul.icon-bar button.toolIcon:hover,
.header-container .header-tools ul.icon-bar button.toolIcon:focus-visible,
.header-container .header-tools ul.icon-bar a.toolIcon:hover {
  background: #e8efff !important;
}

/* Separator line before every icon except the first (li + li) */
.header-container .header-tools ul.icon-bar > li + li::before {
  content: "";
  display: block;
  flex: 0 0 1px;
  width: 1px;
  height: 36px;
  margin: 0 12px;
  background: #999;
}
body.large-text { zoom: 1.25; }
body.small-text { zoom: 0.85; }

html.sat-low {
  filter: grayscale(1);
}
body.high-contrast,
body.high-contrast #wrapper,
body.high-contrast .container,
body.high-contrast .container-fluid {
  background: #000 !important;
  color: #fff !important;
}

body.high-contrast a {
  color: #ffff00 !important;
}

body.high-contrast input,
body.high-contrast select,
body.high-contrast textarea {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

.access_panel_column[aria-pressed="true"] img {
  filter: brightness(0) invert(1);   /* any icon becomes white */
}
/* ON state: click once */
.access_panel_column[aria-pressed="true"] {
  background: #1a2a6c !important;   /* change this color to anything */
  color: #fff !important;
  border-color: #1a2a6c !important;
}
html.invert {
  filter: invert(1) hue-rotate(180deg);
}

/* flip images back so photos look normal */
html.invert img,
html.invert video {
  filter: invert(1) hue-rotate(180deg);
}

/* invert + greyscale together (both use the filter on <html>) */
html.invert.sat-low {
  filter: invert(1) hue-rotate(180deg) grayscale(1);
}
body.highlight-links a {
  background: #ffff00 !important;
  color: #000 !important;
  text-decoration: underline !important;
  outline: 2px solid #000;
  outline-offset: 1px;
}

/* keep the panel's own buttons unaffected (they are <button>, not <a>) */
/* but don't highlight the logo link or image-only links with a big yellow box */
body.highlight-links a:has(img) {
  background: none !important;
  outline: 2px solid #ffff00;
}

body.hide-images img,
body.hide-images video,
body.hide-images picture,
body.hide-images svg {
  visibility: hidden !important;
}

/* keep the header tools and the panel visible */
body.hide-images .header-tools img,
body.hide-images .header-tools svg,
body.hide-images .accessibility-panel img,
body.hide-images .accessibility-panel svg {
  visibility: visible !important;
}

/* also hide CSS background images (banners, sliders) */
body.hide-images * {
  background-image: none !important;
}
body.big-cursor,
body.big-cursor * {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M5 2l14 10-6 1.5 3.5 7-3 1.5-3.5-7L5 19z' fill='black' stroke='white' stroke-width='1.5'/></svg>") 4 2, auto !important;
}



.indexBanner .contentWidthSlider .bannerCaption .title
{
  font-family: var(--font-main);
}


.resTab.commonTabs .tabNav .r-tabs-state-active a
{
    font-family: var(--font-main);

}

.recordBox a
{
      font-family: var(--font-main);

}
.mcontent,
.mcontent *
{
      font-family: var(--font-main);

}

.text-start a
{
        font-family: var(--font-main);

}
#homepageTopServicesBlock h2, .homepageTopServicesBlock h2
{
          font-family: var(--font-main);

}
.footerLeft{
    width:45%;

}
.footerRight
{
  width:45%;
}
.footerLeft li a
{
          font-size:16px;
  color:#ffffff;
}
#wrapper
{
  background:none;
}
.header_datetime{
  display:flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.footerLinks li a:hover
{
  color:#ffffff;
}
.footerCont p,.footerCont a{
    color:#ffffff;

}
@media only screen and (min-width: 1025px) and (max-width: 1380px) {
    #nav li a {
        padding: 10px 9px;
    }
}
@media only screen and (max-width: 767px) {
  .header-container .access_menu .access_panel {
    width: 340px;
    right: -40px;
  }
}
