/* =====================================================================
   National CAMPA - GIGW 3.0 / WCAG 2.1 AA accessibility layer
   Self-contained (no external fonts/CDN). Loaded after style.css.
   ===================================================================== */

/* ---- utilities ---------------------------------------------------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- skip link (GIGW: Skip to main content) ------------------------ */
.skip-link{position:absolute;left:8px;top:-80px;z-index:100000;background:#000;color:#fff;padding:10px 18px;font-size:16px;font-weight:700;text-decoration:none;border:2px solid #fff;border-radius:0 0 6px 6px}
.skip-link:focus{top:0;outline:2px solid #fff;box-shadow:0 0 0 4px #000}
#main-content:focus{outline:none}

/* ---- visible keyboard focus on every interactive element ------------ */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,video:focus-visible,[role="button"]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{
  outline:2px solid #fff!important;outline-offset:0;box-shadow:0 0 0 4px #000!important}

/* ---- header title is a paragraph on inner pages, H1 on the home page -- */
.nabar-header .site-title{margin:0;text-align:center;font-size:1.17em;font-weight:700;display:block}
@media (max-width:1000px){.nabar-header .site-title{font-size:small}}

/* ---- heading levels changed for correct hierarchy: keep old look ----- */
.h-as-1:not(.table-head){font-size:2em;margin:.67em 0;font-weight:700}
.h-as-2:not(.table-head){font-size:1.5em;margin:.83em 0;font-weight:700}
.h-as-3:not(.table-head){font-size:1.17em;margin:1em 0;font-weight:700}
.h-as-4:not(.table-head){font-size:1em;margin:1.33em 0;font-weight:700}
.h-as-2.table-head{margin-top:.83em}
.h-as-4.table-head{margin-top:1.33em}
@media (max-width:1000px){.h-as-2:not(.table-head),.h-as-3:not(.table-head),.h-as-4:not(.table-head){font-size:small}}
/* rules in style.css that were keyed on h4 / h3 must also match the new tags */
.left-bar h2.h-as-4,.notice-board h2.h-as-4{margin:0;padding:8px;background-color:#067a0d;color:#fff;text-decoration:none;font-size:16px;font-weight:300}
.respected-miniters h2.h-as-4,.right-item h2.h-as-4{margin:0 0 20px;padding:8px;background-color:#067a0d;color:#fff;text-decoration:none;font-size:16px;font-weight:300}
.table-container h1.h-as-4,.table-container h2.h-as-4,.table-container h2.h-as-2{padding:10px;margin:0}
footer h2.h-as-3:not(.table-head){font-size:23px;margin-bottom:0}

/* ---- keyboard access to the dropdown menus (was hover-only) ---------- */
.dropdown:focus-within>.dropdown-content,.dropdown.gigw-open>.dropdown-content{display:block;z-index:999}
.nav .menu-toggle-btn{cursor:pointer}

/* ---- file type + size shown next to every downloadable file ---------- */
.file-meta{display:block;font-size:12px;line-height:1.3;color:#444;margin-top:2px;white-space:nowrap;text-align:center}
.file-meta-inline{font-size:12px;color:#444;margin-left:6px;white-space:nowrap}

/* ---- external (non-government) link indicator ------------------------ */
a.gigw-ext::after{content:"\2197";font-size:.8em;margin-left:2px;text-decoration:none;display:inline-block}

/* ---- home page: accessible ticker (replaces obsolete <marquee>) ------- */
.gigw-ticker{display:block;position:relative;overflow:hidden;flex:1 1 0;min-width:0;white-space:nowrap;margin:0 10px}
@media (min-width:769px){.marqueetag>div{flex-shrink:0;white-space:nowrap}}
@media (max-width:768px){
  .marqueetag{flex-wrap:wrap;gap:8px}
  .marqueetag>div{width:auto!important;min-width:0;padding:8px 12px;flex:0 0 auto}
  .marqueetag>div:first-child{order:1}
  .marqueetag>#gigw-ticker-pause{order:2;margin-left:auto}
  .marqueetag>div:last-child{order:3}
  .marqueetag>.gigw-ticker{order:4;flex:1 0 100%;margin:0}
  .someOther-Links{flex-wrap:wrap;justify-content:flex-end}
}
.gigw-ticker__track{display:inline-block;white-space:nowrap;padding-left:100%;animation:gigw-scroll var(--gigw-dur,60s) linear infinite}
.gigw-ticker:hover .gigw-ticker__track,.gigw-ticker:focus-within .gigw-ticker__track,.gigw-ticker.is-paused .gigw-ticker__track{animation-play-state:paused}
@keyframes gigw-scroll{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.gigw-pause{flex:0 0 auto;background:#fff;color:#000;border:2px solid #000;border-radius:4px;padding:3px 10px;font-size:13px;font-weight:700;cursor:pointer;line-height:1.3}
.gigw-pause:hover{background:#eee}
.gigw-slide-pause{position:absolute;left:12px;bottom:34px;z-index:5;background:rgba(0,0,0,.78);color:#fff;border:2px solid #fff}
.gigw-slide-pause:hover{background:#000}
.slideshow-container{position:relative}
.prevv,.nextt{text-decoration:none}
@media (prefers-reduced-motion:reduce){.gigw-ticker__track{animation:none;padding-left:0}}

/* ---- contrast corrections (ratios measured, see report) -------------- */
.top-navbar{background:linear-gradient(269.87deg,#084095 2.99%,#0b7a12 96.59%)}            /* white on green 4.28 -> 5.4 */
.left-bar h4,.notice-board h4,.respected-miniters h4,.right-item h4{background-color:#067a0d}  /* 3.95 -> 5.5 */
.btn-container button{background-color:#0a7a22}                                              /* 3.40 -> 5.5 */
footer{background:linear-gradient(0deg,rgba(10,95,35,.93),rgba(10,95,35,.93)),url(../../image/footer-bg.png),#0f365c} /* worst case 3.6 -> 6.5 */
.modal-buttons button,.image-download-btn{background:#1f6fb2!important}                      /* 3.15 -> 5.3 */

/* ---- 3:1 contrast for form-control borders (WCAG 1.4.11) ------------- */
input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=number],
input[type=url],input[type=date],select,textarea{border:1px solid #767676}

/* ---- feedback / forms (public) ---------------------------------------- */
.gigw-form{max-width:760px;margin:20px auto;padding:20px;background:#fff;border:1px solid #767676;border-radius:6px}
.gigw-form label{display:block;font-weight:700;margin:14px 0 4px}
.gigw-form .req{color:#b00020}
.gigw-form input[type=text],.gigw-form input[type=email],.gigw-form input[type=tel],.gigw-form select,.gigw-form textarea{width:100%;box-sizing:border-box;padding:9px;font-size:16px;font-family:inherit}
.gigw-form .hint{font-size:13px;color:#444;margin:2px 0 0}
.gigw-form .field-error{color:#b00020;font-weight:700;margin:4px 0 0;font-size:14px}
.gigw-form [aria-invalid=true]{border:2px solid #b00020!important}
.gigw-form button[type=submit]{margin-top:18px;background:#0a6a1e;color:#fff;border:0;border-radius:4px;padding:11px 26px;font-size:16px;font-weight:700;cursor:pointer}
.gigw-form button[type=submit]:hover{background:#085515}
.gigw-form .captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gigw-alert{max-width:760px;margin:16px auto;padding:12px 16px;border-radius:4px;border:2px solid;font-size:15px}
.gigw-alert.ok{background:#e8f5e9;border-color:#1b5e20;color:#0b3d0e}
.gigw-alert.err{background:#fdecea;border-color:#b00020;color:#6b0014}
.gigw-page{max-width:1100px;margin:0 auto;padding:10px 20px 30px}
.gigw-page h1.page-title{margin:30px 0 10px;text-align:center}
.gigw-page h2{margin:26px 0 8px}
.gigw-page dl.contact dt{font-weight:700;margin-top:10px}
.gigw-page dl.contact dd{margin:2px 0 0}
.gigw-table{width:100%;border-collapse:collapse;margin:12px 0}
.gigw-table th,.gigw-table td{border:1px solid #767676;padding:8px;text-align:left;vertical-align:top}
.gigw-table th{background:#a9bfa5;color:#000}
.gigw-sitemap ul{padding-left:20px}.gigw-sitemap li{margin:6px 0}

/* ---- home page Notice Board widget: scrollable list (replaces vertical <marquee>) ---- */
.gigw-notice-scroll{height:180px;overflow-y:auto;text-align:center;padding:0 8px}
.gigw-notice-scroll ul{margin:0;padding-left:18px;text-align:center}
.gigw-viewall{text-align:center;margin:6px 0 0}
.gigw-media-alt{margin:8px 0;font-size:14px}
.gigw-media-alt summary{cursor:pointer;font-weight:700}
.gigw-media-alt p{margin:6px 0}

/* ---- home page quick-link tiles: white text failed on orange / green / blue tiles ---- */
.circle-links div:nth-child(1) a,.circle-links div:nth-child(3) a,
.circle-links div:nth-child(4) a,.circle-links div:nth-child(6) a{color:#000}
.circle-links div[style*="317CE3"]{background-color:#2368d1!important}

/* ---- touch / click targets of at least 24 x 24 px (WCAG 2.2, 2.5.8) ---- */
.dot{box-sizing:content-box;padding:4.5px;background-clip:content-box;margin:0}
.someOther-Links a{display:inline-block;min-width:24px;min-height:24px;text-align:center;line-height:24px}

/* ---- text links in lists: 24px high click area (WCAG 2.5.8) ---- */
.Vacancy-Circular-container li a,.Internships-container li a{display:inline-block;padding:4px 0}
.gigw-policy-list li{margin:6px 0}.gigw-policy-list li a{display:inline-block;padding:4px 0}

/* ---- feedback form extras ---- */
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.gigw-form .optional{font-weight:400;color:#444}
.gigw-form .captcha-q{margin:4px 0 8px;font-size:18px}
.gigw-btn-secondary{background:#fff;color:#0a6a1e;border:2px solid #0a6a1e;border-radius:4px;padding:8px 14px;font-size:14px;font-weight:700;cursor:pointer;min-height:24px}
.gigw-btn-secondary:hover{background:#e8f5e9}
.gigw-alert ul{margin:8px 0 0;padding-left:20px}
.gigw-alert a{color:inherit;font-weight:700;display:inline-block;padding:4px 0}

/* ---- admin login: white text on the light-green button had a 1.9:1 ratio ---- */
#login-btn{background-color:#0a6a1e!important;border-color:#0a6a1e!important;color:#fff!important}
#login-btn:hover{background-color:#085515!important;border-color:#085515!important}

/* replaces the obsolete <center> element */
.gigw-center{text-align:center}
.gigw-center>table{margin-left:auto;margin-right:auto}

/* ===== Executive Committee page: PDF pop-up, state list (moved out of the page body) ===== */
.ec-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:rgba(0,0,0,.6);}
.ec-modal-overlay.open{display:flex;align-items:center;justify-content:center;}
.ec-modal-box{background:#fff;width:90%;max-width:960px;height:88vh;border-radius:6px;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.4);overflow:hidden;}
.ec-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#2e7d32;color:#fff;}
.ec-modal-title{font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ec-modal-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.ec-modal-btn{background:#fff;color:#2e7d32;text-decoration:none;font-size:13px;font-weight:600;padding:5px 12px;border-radius:4px;}
.ec-modal-btn:hover{background:#eaeaea;}
.ec-modal-close{background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:0 4px;}
.ec-modal-body{flex:1;background:#525659;}
.ec-modal-body iframe{width:100%;height:100%;border:0;}
@media(max-width:600px){.ec-modal-box{width:96%;height:92vh;}.ec-modal-title{max-width:150px;}}
.ec-allstate-toggle{color:#2e7d32;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;}
.ec-allstate-toggle:hover{text-decoration:underline;}
.ec-viewstate-wrap{margin-top:6px;font-size:13px;}
.ec-minutes-cell{display:inline-flex;align-items:center;gap:8px;justify-content:center;}
.ec-minutes-cell .ec-allstate-toggle{font-size:14px;}
.ec-arrow{display:inline-block;font-size:11px;transition:transform .2s ease;}
.ec-allstate-toggle.open .ec-arrow{transform:rotate(180deg);}
tr.ec-state-row td{background:#f7faf7;}
.ec-state-line{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #e6ece6;}
.ec-state-no{flex:0 0 auto;min-width:38px;color:#2e7d32;font-weight:600;font-size:15px;}
.ec-state-name{flex:1 1 auto;text-align:left;font-size:15px;color:#222;overflow-wrap:anywhere;}
.ec-state-pdf{flex:0 0 auto;line-height:0;}
@media(max-width:600px){
  .annual-report-table th,.annual-report-table td{padding-left:4px !important;padding-right:4px !important;font-size:12px;}
  .annual-report-table tr>td:nth-child(2){white-space:normal;overflow-wrap:anywhere;}
  tr.ec-state-row > td{padding:0 !important;}
  .ec-state-line{position:sticky;left:0;width:90vw;max-width:100%;box-sizing:border-box;padding:12px 10px;gap:10px;}
  .ec-state-name{font-size:13px;}
}

/* ===== moved from gallery.php ===== */
button.accordion-button {
                width: 100%;
                margin: 0;
                padding: 0;
            }

            .accordion-body img {
                width: 100% !important;
                max-width: 300px;
                height: auto !important;
            }

            button.accordion-button.gallery_head {
                font-size: 20px;
                font-weight: 600;
                background-color: #0f8820;
                color: #fff;
                padding: 20px;
            }

/* ===== moved from notice.php ===== */
.archive-toggle-wrap{text-align:center;margin-bottom:15px;}
.archive-toggle-btn{display:inline-block;padding:8px 18px;border-radius:5px;border:1.5px solid #1a7a34;
  color:#1a7a34;background:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:.2s;}
.archive-toggle-btn:hover{background:#1a7a34;color:#fff;}
@media(max-width:480px){.archive-toggle-btn{padding:7px 14px;font-size:13px;}}

/* gallery page title: keeps the Bootstrap "h2" size it had before it became the page H1 */
.h-as-bs2{font-size:calc(1.325rem + .9vw);font-weight:500;line-height:1.2;margin:0 0 .5rem}
@media (min-width:1200px){.h-as-bs2{font-size:2rem}}
