/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It's ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It's fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.3.1773034559
Updated: 2026-03-09 05:35:59
*/

/* ============================================================
   GLOBAL / RESET
============================================================ */
table {
  overflow-x: auto;
}
.cat-filter-form p {
  margin-bottom: 0;
}

.search {
  height: 42px;
  border-radius: 7px;

}

@media (max-width:483px) {
  .table {
    overflow-x: auto;
  }

}

@media (max-width:1108px) {
  .box-section {
    margin-bottom: 0.8rem;
  }
}

@media (max-width:991px) {
  .text-end {
    margin-bottom: 0.8rem;
  }
  .card img {
    width: 100%;
    height: 37vh;
    object-fit: cover;
    display: block;
}
}

@media (max-width:955px) {
  .text-end {
    margin-bottom: 0.8rem;
  }
}

.slider-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

body.dark-mode #themeBtn {
  filter: invert(1);
}

body.dark-mode #screenReaderBtn {
  filter: invert(1);
}

body.dark-mode .ext-modal-message,
body.dark-mode .ext-modal-url {
  color: #000 !important;
}

body.dark-mode .header-emblem img {
  opacity: 0.9;
  filter: invert(1);
}

#playBtn,
#pauseBtn {
  background: #2c7240;
  background: #2c7240;
  padding: 13px;
  color: #fff;
  cursor: pointer;
}

.scroll-h {
  height: 364px;
}

.scroll-h-y {
  height: 264px;
  overflow-y: auto !important;
}

#wp-admin-bar-my-account>.ab-item {
  font-size: 0;
}

#wp-admin-bar-my-account>.ab-item .display-name,
#wp-admin-bar-my-account>.ab-item img {
  font-size: 14px;
}

/* #playBtn,
#pauseBtn {
  background: #2c7240;
} */
.main-wrapper {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}

.box-section {
  padding: 0 15px;
}

.ast-container {
  background-color: #F8F8F8;
}

img {
  width: 100%;
}

hr {
  margin: 0.2rem 0 !important;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: .25;
}

@keyframes fade {
  from {
    opacity: 0.5;
  }

  to {
    opacity: 1;
  }
}

@keyframes animate {
  from {
    opacity: 0.4;
  }

  to {
    opacity: 1;
  }
}

.animate {
  animation-name: fade;
  animation-duration: 1.5s;
}

/* ============================================================
   TOP HEADER
============================================================ */

.header-top {
  background: #fff;
  padding: 15px 0;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-logo {
  display: flex;
  align-items: center;
  gap: 15px;
}

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

.header-title h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.header-title p {
  margin: 0;
  font-size: 16px;
  color: #333;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header-emblem img {
  width: 60px;
  height: auto;
}

/* Old top-header (keep for compatibility) */
.top-header {
  background: #fff;
  padding: 20px 0;
}

.top-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.logo {
  width: 90px;
  height: auto;
}

.site-info h1 {
  font-size: 42px;
  margin-bottom: 5px;
}

.site-info p {
  font-size: 20px;
}

/* ============================================================
   CONTAINER
============================================================ */

.container {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

/* ============================================================
   MAIN NAVIGATION
============================================================ */

.main-navigation {
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 999;
  box-shadow: 0px 4px 4px 0px #00000040;

}

.main-navigation .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 52px;
  max-width: 1440px;
}

/* Menu list */
.main-menu {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
}

.main-menu li {
  position: relative;
}

.card-top-bg h2 {
  font-family: Verdana;
  font-weight: 500;
  font-style: Bold;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 0%;
  color: #fff;
  margin-bottom: 0;
}

.card-top-bg {
  background: #00286D;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 10px 16px 10px 16px;
}

.view-all {
  text-align: end;
  padding: 0 10px;
  position: relative;
  bottom: 16px;

}

.view-all img {
  width: 15px;
}

.view-all a {
  color: #003A92;
}


.main-menu li a {
  display: block;
  padding: 6px 18px;
  text-decoration: none;
  color: #1B2839;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.3s;
  margin: 0 2px;
}

.main-menu li a:hover {
  /* background: #333; */
  background: #064A0C;
  color: #fff;
  border-radius: 4px;
}

.main-menu li.current-menu-item a {
  color: #fff;
  /* border-bottom: 3px solid #f2b600; */
  background: #064A0C;
  border-radius: 4px;
}

/* Dropdown */
.main-menu li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #222;
  list-style: none;
  z-index: 999;
  padding: 0;
  margin: 0;
}

.main-menu li:hover>ul {
  display: block;
}

.main-menu li ul li {
  width: 100%;
}

.main-menu li ul li a {
  padding: 12px 15px;
  border-bottom: 1px solid #333;
}

.main-menu li ul li a:hover {
  background: #333;
}

/* Right side (search + language) */
.nav-right {
  display: flex;
  align-items: center;
  gap: 15px;
}

.language-switch {
  display: flex;
  align-items: center;
}

.language-switch a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  margin: 0 5px;
}

.language-switch a:hover {
  color: #f2b600;
}

.header-search {
  display: flex;
  align-items: center;
}

.header-search input {
  width: 220px;
  height: 38px;
  border: none;
  outline: none;
  padding: 0 12px;
  border-radius: 4px 0 0 4px;
}

.header-search button {
  width: 42px;
  height: 38px;
  border: none;
  cursor: pointer;
  background: #fff;
  border-radius: 0 4px 4px 0;
}

/* Hamburger — hidden on desktop */
.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: none;
  background: none;
  color: #000000 !important;
  font-size: 28px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  order: 1;
  padding: 0;
}

/* Old navbar (keep for compatibility) */
.navbar {
  background: #232323;
}

.navbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-menu {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
}

.nav-menu li {
  position: relative;
}

.nav-menu li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 18px 15px;
  font-weight: 500;
}

.nav-menu li.current_page_item a {
  background: #f0b400;
  color: #000;
}

.nav-menu li a:hover {
  background: #f0b400;
  color: #000;
}

.nav-bar {
  display: flex;
  max-width: 1440px;
  width: 100%;
  justify-content: center;
  gap: 1.5rem;
}

/* ============================================================
   CAROUSEL / SLIDER  ← FIXED
============================================================ */

.carousel-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.carousel {
  position: relative;
  overflow: hidden;
}

/* Slider strip — must be wide enough to hold all slides */
.slides {
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
  /* Do NOT set width:100% here — let flex children define the width */
}

/* Each slide locked to viewport width */
.slide {
  min-width: 100%;
  flex: 0 0 100%;
  /* ← KEY FIX: prevents slides from shrinking */
}

.slide img {
  width: 100%;
  display: block;
  height: 57vh;
}

/* Arrows */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  background: #fff;
  color: #035206;
  padding: 0 12px;
  cursor: pointer;
  border-radius: 50%;
  z-index: 10;
  line-height: 44px;
  user-select: none;
}

.arrow.left {
  left: 10px;
}

.arrow.right {
  right: 10px;
}


/* Dots container — placed OUTSIDE .carousel so it doesn't overlap */
.dotsone {
  text-align: center;
  padding: 10px 0 5px;
  background: #fff;
  /* or transparent, adjust to your design */
}

.carousel-dot {
  height: 10px;
  width: 10px;
  margin: 0 5px;
  display: inline-block;
  background-color: #bbb;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
}

.carousel-dot.active {
  background-color: #1B5E20;
}

/* Old dot styles */
#dots-con {
  text-align: center;
  margin-top: -2.7rem;
  position: relative;
  z-index: 1;
}

.dot {
  display: inline-block;
  background: #fff;
  padding: 6px;
  border-radius: 50%;
  margin: 10px 5px;
}

/* Old arrow styles */
.controls {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5em;
  padding: 1px 10px;
  border-radius: 47%;
  background: #fff;
}

.controls:hover {
  transition: 0.3s;
}

.controls:active {
  color: grey;
}

#left-arrow {
  left: 20px;
}

#right-arrow {
  right: 20px;
}

/* ============================================================
   QUICK BUTTON
============================================================ */

.quick-btn {
  position: fixed;
  top: 45%;
  right: -70px;
  transform: rotate(90deg);
}

.right-links {
  background: #fff;
  border: 1px solid #1B5E20;
  color: #ffffff;
  transform: rotate(180deg);
  font-weight: 500;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0%;
  color: #020202;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 15px 25px;
  font-family: 'Noto Sans';
}

/* ============================================================
   MASK / BANNER OVERLAYS
============================================================ */

.mask {
  height: 364px;
}

.mask h3 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 18px;
  line-height: 100%;
  color: #0051B6;
  /* background: #0202021A; */
  padding: 6px 4px;
}

.mask-public h3,
.photo-wrap h3 {
  font-weight: 700;
  font-size: 20px;
  line-height: 100%;
  text-transform: uppercase;
  color: #035206;
}

/* ============================================================
   VIEW MORE
============================================================ */

.view-more {
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  color: #020202 !important;
  text-decoration: none;
}

.view-more img {
  width: 15px;
}

/* ============================================================
   MIN PHOTO / PROFILE
============================================================ */

.min-photo {
  text-align: center;
}

@media (max-width:570px) {
  .min-photo img {
    width: 50% !important;
    height: auto;
    border: 3px solid #f9f9f9 !important;
  }
}

.min-photo img {
  width: 100%;
  height: auto;
  border: 3px solid #f9f9f9;
}

.min-photo p {
  color: #020202;
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 16px;
  line-height: 100%;
  margin-top: 0.8rem;
  margin-bottom: 0.4rem;
}

.min-photo span {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  color: #696969;
}

/* ============================================================
   ABOUT SECTION
============================================================ */

.about-sectiion h2 {
  font-weight: 700;
  font-size: 16px;
  line-height: 100%;
  color: #020202;
  margin-bottom: 15px;
}

.about-sectiion p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #000;
  text-align: justify;
}

.chief-para {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  /* -webkit-line-clamp: 4; */
  -webkit-box-orient: vertical;
  width: 100%;
}

.bg-profile {
  /* background: #F5FFF6; */
  padding: 4px 0;
}

.about-wrapper {
  padding: 30px 15px;
}

/* ============================================================
   NORMAL / SECTION BOXES
============================================================ */

.Normal h2 {
  font-family: Noto Sans;
  font-weight: 600;
  font-size: 16px;
  line-height: 100%;
  color: #1e4d2b;
  margin-bottom: 0.8rem;
}

.section {
  box-shadow: 0px 0px 20px 0px #0000001a;
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}

.section-body {
  border-top: 1px solid #cfcfcf;
}

.section h2 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #1E4D2B;
  margin-bottom: 0.5rem;
}

.section-body h3 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 19px;
  line-height: 24px;
  color: #000;
  margin-top: 0.9rem;
  margin-bottom: 1rem;
}

.section-body p {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-bottom: 15px;
}

/* ============================================================
   TICKER / NEWS
============================================================ */

.tickercontainer {
  /* background: #DEFFDF; */
  padding: 24px 15px 5px 15px;
}

.tickercontainer-right {
  box-shadow: 0px 0px 20px 0px #0000000D;
  background: #ffffff;
  /* padding: 24px; */
  border-radius: 10px;
  height: 400px;
}

.tickercontainer-link {
  box-shadow: 0px 0px 20px 0px #0000000D;
  background: #FFF2AD;
  padding: 24px;
  border-radius: 10px;
  margin-top: 0.8rem;
}

.realated-link-section {
  background: #E3F1FF;
  border-radius: 10px;
  padding: 20px
}

.news-item a {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 22.4px;
  color: #020202;
  text-decoration: none;
}

.quick-section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.news-item span {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 13px;
  line-height: 100%;
  color: #6d6d6d;
}

.news-item img {
  width: 18px;
  height: 18px;
}

.news-item-right {
  margin-top: 0.8rem;
}

/* ============================================================
   LEFT BOX / LIST CONTAINERS
============================================================ */

.left-box {
  height: 820px;
}

.list-container {
  height: 296px;
  overflow-y: scroll;
  scroll-behavior: smooth;
}

.list-container::-webkit-scrollbar {
  width: 6px;
}

.list-container::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 10px;
}

.list-container:hover::-webkit-scrollbar-thumb {
  background: #bbb;
}

.list-container::-webkit-scrollbar-thumb:hover {
  background: #888;
}

.Quick,
.list-container-link {
  max-height: 300px;
  height: 100%;
  overflow-y: auto;
  /* padding-left: 0; */
  margin-left: 0;
  min-height: 266px;
  scroll-behavior: smooth;

  padding: 0 16px 0 16px;
  list-style: none;
}

.Quick::-webkit-scrollbar,
.branchlist::-webkit-scrollbar,
.list-container-link::-webkit-scrollbar {
  width: 6px;
}

.Quick::-webkit-scrollbar-thumb,
.branchlist::-webkit-scrollbar-thumb,
.list-container-link::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 10px;
}

.Quick::-webkit-scrollbar-thumb:hover,
.branchlist::-webkit-scrollbar-thumb:hover,
.list-container-link::-webkit-scrollbar-thumb:hover {
  background: #888;
}

.Quick-link {
  padding-left: 0;
  margin-left: 0;
  list-style: none;
}

.Quick li a,
.branchlist li a,
.Quick-link li a {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #020202;
  text-decoration: none !important;
  display: flex;
  align-items: flex-start;
}

.branchlist li a:hover,
.Quick-link li a:hover {
  text-decoration: underline !important;
}

.Quick li a:hover {
  text-decoration: underline !important;
}

.branchlist li,
.Quick-link li,
.Quick li {
  margin: 0.3rem 0;
}

.Quick li img,
.branchlist li img,
.Quick-link li img {
  width: 16px;
  height: 16px;
  margin-top: 5px;
  flex-shrink: 0;
}

.branchlist {
  max-height: 301px;
  height: 100%;
  overflow-y: auto;
  padding-left: 0;
  margin-left: 0;
  min-height: 266px;
  padding: 0 10px 0 10px;
  /* grid-template-columns: repeat(2, 1fr); */
  /* display: grid; */
  list-style: none;
}

.Quick-link li:hover,
.branchlist li:hover,
.list-section-content li:hover,
.news-item a:hover {
  text-decoration: underline;
}

/* ============================================================
   CARD SLIDER (scroll-snap)
============================================================ */

.slider {
  position: relative;
  padding: 0 10px;
  height: 316px;
}

.track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.track::-webkit-scrollbar {
  display: none;
}

.card {
  scroll-snap-align: start;
  width: 100%;
}

.bg-clr-public {
  background: #DDFFE1;

}

.bg-clr-branch {
  background: #F1F7FF;
}

.bg-clr-office {
  background: #EDE6FF;
}

.bg-clr-img {
  background: #FFF6DB;
}

.card img {
  width: 100%;
  height: 28vh;
  object-fit: cover;
  display: block;
}

.news-item {
  padding: 0 10px;
}

.dots {
  display: flex;
  justify-content: center;
  margin-top: 10px;
  gap: 8px;
}

.dots a {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50%;
  border: none;
  background: #ccc;
  cursor: pointer;
}

.dots a.active {
  background: #035206;
}

/* ============================================================
   TABLE
============================================================ */

table {
  border-collapse: collapse;
  width: 100%;
}

td img {
  width: 20px;
  height: 20px;
}

tr th {
  background: #353535;
  color: #fff !important;
  font-family: Noto Sans;
  font-weight: 500;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1.1%;
  text-align: left;
  border: 1px solid #d0d0d0;
}

td,
th {
  padding: 6px 20px;
  border: 1px solid #d0d0d0 !important;
}

td {
  color: #555555;
  font-family: Noto Sans;
  font-weight: 500;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1.1%;
}

tr:nth-child(even) {
  background-color: #f5f5f5 !important;
}

.telephone-data {
  max-width: 1440px;
  width: 100%;
  border-radius: 20px;
  background: #fff;
}

.table-wrapper {
  margin: 0 auto;
}

.searchbox-item {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
  justify-content: flex-end;
  background: #f5f5f5;
  padding: 10px 0;
}

input[type="date"] {
  background: #fff !important;
}

.search-section img {
  width: 25px;
  margin-left: -0.5rem;
}

.search-data {
  margin-left: -8px;
}

.buttom-search {
  position: relative;
  margin-left: -25px;
  background: none !important;
}

.input-box {
  max-width: 200px;
  width: 100%;
}

.table h3 {
  color: #020202;
  font-family: Noto Sans;
  font-weight: 600;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1.1%;
  margin: 10px 0;
}

.table-wrap {
  width: 100%;
  box-shadow: 0px 0px 20px 0px #0000001a;
  background: #ffffff;
  border-radius: 20px;
  padding: 30px 30px 15px 30px;
}

.container-wrapper {
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  padding: 30px 15px;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.table-responsive table {
  min-width: 1000px;
  border-collapse: collapse;
}

/* Custom scrollable table */
.custom-table {


  border: 1px solid #ddd;
}

.custom-table table {
  width: 100%;
  border-collapse: collapse;
}

.custom-table th,
.custom-table td {
  padding: 10px;
  border: 1px solid #ccc;
}

.custom-table thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 99;
}

.custom-table tbody tr:nth-child(1) th,
.custom-table tbody tr:nth-child(2) th {
  position: sticky;
  background: #353535;
  z-index: 99;
}

.custom-table tbody tr:nth-child(1) th {
  top: 0;
}

.custom-table tbody tr:nth-child(2) th {
  top: 40px;
}

/* ============================================================
   ROLL OF HONOUR
============================================================ */

.roll-section {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0px 0px 20px 0px #0000001a;
  background: #fff;
  border-radius: 20px;
  padding: 30px 20px 10px 20px;
}

.roll-section h2 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 20px;
  line-height: 130%;
  color: #1e4d2b;
  margin-bottom: 20px;
  border-bottom: 1px solid #cfcfcf;
  padding-bottom: 15px;
}

.roll-wrapper {
  margin: 0 auto;
  padding: 30px 15px;
}

/* ============================================================
   ORGANISATION CHART
============================================================ */

.chief-header {
  text-align: center;
  margin-top: 20px;
}

.chief-header img {
  width: 100%;
  height: auto;
}

.chief-header h3 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 19px;
  line-height: 150%;
  letter-spacing: -1.1%;
  color: #020202;
  text-align: center;
}

.organisation-section,
.contact-section {
  padding: 30px 15px;
}

.organisation-wrapper {
  box-shadow: 0px 0px 20px 0px #0000001a;
  background: #fff;
  border-radius: 20px;
  max-width: 1440px;
  width: 100%;
  padding: 20px;
  margin: 0 auto;
}

.organisation-header {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 20px;
  border-bottom: 1px solid #cfcfcf;
}

.organisation-header img {
  width: 18px;
  height: 18px;
}

.organisation-header a {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1.1%;
  color: #15355a;
  text-decoration: none;
}

.organisation-header h2 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 20px;
  line-height: 100%;
  color: #1e4d2b;
}

/* ============================================================
   CONTACT US
============================================================ */

.conatct-wrapper {
  box-shadow: 0px 0px 20px 0px #0000001a;
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}

.contact-header h2 {
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 20px;
  line-height: 130%;
  color: #1e4d2b;
  padding-bottom: 5px;
  text-transform: uppercase;
}

.chief-haeder-section {
  align-items: center;
}

.chief-haeder-section h3 {
  color: #020202;
  font-family: Noto Sans;
  font-weight: 700;
  font-size: 19px;
  line-height: 100%;
}

.map-image img {
  width: auto;
  height: 165px;
  cursor: pointer;
}

.email-content p {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  color: #020202;
  margin-bottom: 10px;
}

.photo-wrap {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.photo-wrap a {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 22.4px;
  text-decoration: none;
  color: #020202;
}

.photo-wrap img {
  width: 14px;
}

.location-details p {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #020202;
  margin-bottom: 0;
}

.list-section-content {
  padding-left: 0;
  margin-left: 0;
  list-style: none;
  margin-top: 0.5rem;
}

.list-section-content a {
  font-family: Noto Sans;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #020202;
  text-decoration: none;
}

.list-section-content img {
  width: 16px;
  height: 16px;
}

.space-top {
  margin-top: 0.7rem;
}

.list-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-contact img {
  width: 20px;
}

.list-contact a {
  color: #020202;
  font-family: Noto Sans;
  font-weight: 500;
  font-size: 16px;
  line-height: 22.4px;
  text-decoration: none;
}

/* ============================================================
   LOGO SECTION
============================================================ */

.logo-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  max-width: 1150px;
  width: 100%;
  margin: 0 auto;
}

.logo-card {
  display: block;
  padding: 14px;
  border-radius: 6px;
  overflow: hidden;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.logo-card img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: transform 0.4s ease;
}

.logo-card:hover img {
  transform: scale(1.12);
}

.logo-card:hover {
  transform: translateY(-4px);
}

/* ============================================================
   GALLERY
============================================================ */

.gallery {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px;
  border-radius: 12px;
}

.main-view {
  position: relative;
  text-align: center;
}

.main-view img {
  width: 100%;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 8px;
}

.counter {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 6px 10px;
  border-radius: 20px;
  font-size: 14px;
}

.prev {
  left: 10px;
}

.next {
  right: 10px;
}

.thumbs {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 15px;
  flex-wrap: wrap;
}

.thumbs img {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  cursor: pointer;
  opacity: 0.6;
  border: 2px solid transparent;
  transition: opacity 0.3s, border 0.3s;
}

.thumbs img:hover {
  opacity: 1;
}

.thumbs img.active {
  opacity: 1;
  border: 2px solid #2c7240;
}

/* Grid gallery */
.row-data {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.column-data {
  flex: 1 1 calc(25% - 16px);
  box-sizing: border-box;
}

.column-data img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  cursor: pointer;
}

/* Modal */
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000A;
}

.modal-content {
  position: relative;
  margin: auto;
  width: 95%;
  max-width: 1000px;
}

.mySlides {
  display: none;
}

.mySlides img {
  width: 100%;
  height: auto;
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 40px;
  color: white;
  cursor: pointer;
}

.prev-left,
.next-right {
  cursor: pointer;
  position: absolute;
  top: 38%;
  padding: 5px 14px;
  color: #020202;
  font-size: 20px;
  user-select: none;
  box-shadow: 0px 2px 10px 0px #00000033;
  background: #ffffff;
  border-radius: 50%;
  text-decoration: none;
}

.next-right {
  right: 0;
}

.caption-container p {
  text-align: center;
  color: #020202;
  padding: 10px 0 0 0;
  margin-bottom: 0;
}

.thumbnail-row {
  text-align: center;
  margin-top: 10px;
}

.thumb {
  display: inline-block;
  margin: 5px;
}

.thumb img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  opacity: 0.6;
}

.thumb img.active,
.thumb img:hover {
  opacity: 1;
}

.numbertext {
  margin: 10px;
  position: absolute;
}

/* ============================================================
   PAGINATION
============================================================ */

.js-pagination {
  margin-top: 15px;
  text-align: center;
  display: flex;
  position: relative;
  /*left: 336%;*/
}

.js-pagination a {
  display: inline-block;
  margin: 3px;
  padding: 4px 8px;
  border: 1px solid #ccc;
  color: #333;
  text-decoration: none;
  cursor: pointer;
  background: #f5f5f5;
}

.js-pagination a:hover {
  background: #ddd;
}

.js-pagination a.active {
  background: green !important;
  color: #fff;
  border-color: green !important;
}

/* ============================================================
   MISC HELPERS
============================================================ */



.haryana-list {
  background-color: rgb(13 110 253) !important;
}

/* ============================================================
   FOOTER
============================================================ */

.site-footer {
  width: 100%;
  background: #0b6412;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  margin-top: 50px;
}

.site-footer .container {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.footer-top {
  background: #055a0b;
  padding: 15px 0;
}

.footer-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  gap: 18px;
  margin-bottom: 0;
}

.footer-menu li {
  position: relative;
}

.footer-menu li:not(:last-child)::after {
  content: "|";
  color: #ffffff;
  margin-left: 18px;
}

.footer-menu li a {
  text-decoration: none;
  color: #fff;
  font-size: 15px;
  transition: color 0.3s;
}

.footer-menu li a:hover {
  color: #ffcc00;
}

.footer-middle {
  padding: 40px 0 25px;
}

.footer-middle .container {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.footer-left,
.footer-right {
  width: 48%;
}

.footer-left p {
  line-height: 1.8;
  font-size: 17px;
}

.footer-right {
  text-align: right;
}

.footer-right p {
  line-height: 1.6;
  font-size: 17px;
  margin-bottom: 0;
}

.footer-right strong {
  color: #ffcc00;
  font-size: 18px;
  display: block;
  margin-top: 10px;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .4);
  padding: 18px 0;
  text-align: center;
}

.footer-bottom p {
  font-size: 18px;
  margin: 8px 0;
  line-height: 1.6;
}

/* ============================================================
   RESPONSIVE — TABLET (max 1024px)
============================================================ */

@media (max-width: 1024px) {
  .main-menu li a {
    padding: 7px 12px;
    font-size: 14px;
  }

  .header-search input {
    width: 170px;
  }
}

/* ============================================================
   RESPONSIVE — SMALL TABLET (max 992px)
============================================================ */

@media (max-width: 992px) {
  .main-navigation .container {
    min-height: 55px;
  }

  .main-menu li a {
    padding: 6px 10px;
    font-size: 13px;
  }

  .header-search input {
    width: 140px;
  }

  .branch-link {
    margin-top: 0.8rem;
  }

  .footer-middle .container {
    flex-direction: column;
    gap: 0;
  }

  .footer-left,
  .footer-right {
    width: 100%;
    text-align: center;
  }

  .footer-right {
    margin-top: 20px;
  }

  .footer-menu {
    gap: 12px;
  }

  .footer-menu li:not(:last-child)::after {
    margin-left: 12px;
  }

  .header-title h1 {
    font-size: 22px;
  }

  .header-title p {
    font-size: 14px;
  }

  .header-logo img {
    width: 60px;
  }

  .header-emblem img {
    width: 50px;
  }

  iframe {
    height: 180px !important;
  }
}

@media (min-width: 992px) and (max-width: 1009px) {
  iframe {
    height: 156px !important;
  }
}

button:focus {
  background: none !important;
  border: none !important;
}

@media (max-width:475px) {
  .quick-section {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
}

.entry-meta {
  display: none;
}

/* ============================================================
   RESPONSIVE — MOBILE (max 768px)  ← HAMBURGER FIXED
============================================================ */

@media screen and (max-width: 1199px) {

  /* Navigation wrapper */
  .main-navigation .container {
    flex-wrap: wrap;
    padding: 10px 10px;
  }

  /* Show hamburger */
  .menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 1;
    color: #000000 !important;
  }

  /* Search stays right of hamburger */
  .nav-right {
    order: 2;
    margin-left: auto;
    width: auto;
    margin-top: 0;
  }

  .header-search {
    width: auto;
  }

  .header-search input {
    width: 130px;
    height: 35px;
  }

  .header-search button {
    height: 35px;
    width: 38px;
  }

  /* Menu hidden by default, full width below nav */
  .main-menu {
    display: none;
    flex-direction: column;
    width: 100%;
    background: #fff;
    margin-top: 12px;
    border-top: 1px solid #fff;
    order: 3;
  }

  /* JS adds .active to show it */
  .main-menu.active {
    display: flex;
  }

  .main-menu li {
    width: 100%;
    border-bottom: 1px solid #fff;
  }

  .main-menu li a {
    width: 100%;
    padding: 14px 20px;
    font-size: 14px;
  }

  .main-menu li.current-menu-item a {
    border-left: 4px solid #f2b600;
    border-bottom: none;
  }

  /* Mobile dropdown */
  .main-menu li ul {
    position: static;
    display: none;
    width: 100%;
    background: #2a2a2a;
  }

  .main-menu li.open>ul {
    display: block;
  }

  /* Hide language on mobile */
  .language-switch {
    display: none;
  }

  /* Old navbar compat */
  .nav-menu {
    display: none;
    flex-direction: column;
    width: 100%;
  }

  .nav-menu.show {
    display: flex;
  }

  .nav-menu li {
    width: 100%;
  }

  .nav-menu li a {
    width: 100%;
    border-bottom: 1px solid #444;
  }

  /* Header */
  .header-inner {
    flex-direction: row;
    text-align: left;
    gap: 15px;

  }

  .header-logo {
    flex-direction: row;
    gap: 10px;
  }

  .header-right {
    justify-content: center;
  }

  .header-title h1 {
    font-size: 20px;
  }

  .header-title p {
    font-size: 13px;
  }

  .header-logo img {
    width: 55px;
  }

  .header-emblem img {
    width: 45px;
  }

  /* Slider */
  .slide img {
    height: 250px;
  }


  /* Gallery */
  .thumbs img {
    width: 80px;
    height: 60px;
  }

  /* Column grid */
  .column-data {
    flex: 1 1 calc(50% - 16px);
  }

  /* Footer */
  .footer-top {
    padding: 15px;
  }

  .footer-menu {
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
  }

  .footer-menu li::after {
    display: none;
  }

  .footer-menu li {
    width: 100%;
    text-align: left;
  }

  .footer-menu li a {
    display: block;
    padding: 10px 0;
    font-size: 16px;
  }

  .footer-middle {
    padding: 30px 0;
  }

  .footer-left p,
  .footer-right p {
    font-size: 15px;
  }

  .footer-right strong {
    font-size: 20px;
  }

  .footer-bottom p {
    font-size: 15px;
  }

  /* Misc */
  .top-header .container {
    flex-direction: column;
    text-align: center;
  }

  .header-left {
    flex-direction: column;
  }

  .site-info h1 {
    font-size: 28px;
  }

  .site-info p {
    font-size: 16px;
  }

  .search-area {
    width: 100%;
    margin-top: 15px;
  }

  iframe {
    width: 675px;
  }
}

/* ============================================================
   RESPONSIVE — SMALL MOBILE (max 576px)
============================================================ */

@media (max-width: 576px) {
  .container {
    padding: 0 12px;
  }

  .header-search input {
    width: 100%;
  }

  .menu-toggle {
    width: 40px;
    height: 40px;
    font-size: 26px;
    color: #000000;
  }

  .main-menu li a {
    font-size: 14px;
  }

  .whats-new-space {
    margin-top: 0.8rem;
  }

  .about-sectiion {
    margin: 12px 0;
  }

  .column-data {
    flex: 1 1 100%;
  }

  .controls {
    font-size: 1em;
  }

  #dots-con {
    display: none;
  }

  .site-footer .container {
    padding: 0 15px;
  }

  .footer-left p,
  .footer-right p {
    font-size: 14px;
  }

  .footer-right strong {
    font-size: 18px;
  }

  .footer-bottom p {
    font-size: 14px;
    line-height: 1.8;
  }

  .footer-menu li a {
    font-size: 15px;
  }
}

/* ============================================================
   RESPONSIVE — EXTRA SMALL (max 480px)
============================================================ */

@media (max-width: 480px) {
  .header-title h1 {
    font-size: 18px;
  }

  .header-title p {
    font-size: 12px;
  }

  .header-logo img {
    width: 45px;
  }

  .header-emblem img {
    width: 40px;
  }

  .header-right {
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 425px) {
  .track {
    grid-auto-columns: 100%;
    gap: 80px;
  }
}

@media (max-width: 400px) {
  .header-search input {
    font-size: 13px;
  }

  .main-menu li a {
    padding: 12px 15px;

  }
}

/* ============================================================
   IFRAME OVERRIDES
============================================================ */

@media (min-width: 1010px) and (max-width: 1395px) {
  iframe {
    height: 180px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  iframe {
    width: 400px;
  }
}


:root {
  --bg: #ffffff;
  --text: #222222;
  --heading: #111111;
  --link: #0d6efd;
  --card: #ffffff;

  --bar-bg: #dbe8fb;
  --bar-border: #c3d8f5;
  --bar-icon: #0b3d91;
  --bar-icon-active-bg: #0b3d91;
  --bar-icon-active-fg: #ffffff;
  --bar-divider: #a9c3ec;
}

body,
body p,
body span,
body li,
body td,
body th,
body label,
body input,
body textarea,
body select {
  color: var(--text);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  color: var(--heading);
}

body a {
  color: var(--link);
}

/* =========================
   ACCESSIBILITY TOOLBAR
========================= */
.a11y-toolbar {
  width: 100%;
  background: var(--bar-bg);
  border-bottom: 1px solid var(--bar-border);
  /* position:sticky; */
  top: 0;
  z-index: 9999;
}

.a11y-toolbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .25rem;
  padding: .4rem .75rem;
  min-height: 2.5rem;
}

.top-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: .85rem;
  font-weight: 600;
  color: var(--bar-icon);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 1;
  padding: .35rem .5rem;
  border-radius: .35rem;
  transition: background .2s, color .2s;
  white-space: nowrap;
}

.top-link:hover,
.top-link:focus-visible {
  background: rgba(11, 61, 145, .12);
}

.top-link:focus-visible {
  outline: 2px solid var(--bar-icon);
  outline-offset: 2px;
}

/* skip link: visually hidden until focused */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}

.skip-link:focus {
  position: static;
  left: auto;
}

.a11y-group {
  display: flex;
  align-items: center;
  gap: .15rem;
}

.a11y-divider {
  width: 1px;
  height: 1.1rem;
  background: var(--bar-divider);
  margin: 0 .35rem;
  flex: 0 0 auto;
}

.icon-btn {
  width: 1.9rem;
  height: 1.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .3rem;
  font-size: .85rem;
  font-weight: 700;
}

.icon-btn.is-active {
  background: var(--bar-icon-active-bg);
  color: var(--bar-icon-active-fg) !important;
}

.icon-btn.is-active:hover,
.icon-btn.is-active:focus-visible {
  background: #092f6e;
}

.size-btn {
  min-width: 1.75rem;
  font-size: .8rem;
}

/* Responsive: shrink & wrap gracefully on small screens */
@media (max-width:600px) {
  .a11y-toolbar-inner {
    justify-content: center;
    padding: .35rem .5rem;
    gap: .15rem;
  }

  .top-link {
    padding: .3rem .4rem;
    font-size: .8rem;
  }

  .a11y-divider {
    margin: 0 .2rem;
  }

  .icon-btn {
    width: 1.7rem;
    height: 1.7rem;
  }
}

@media (max-width:380px) {
  .a11y-divider:nth-of-type(1) {
    display: none;
  }
}

/* =========================
   DARK MODE
========================= */
body.dark-mode {
  --bg: #121212;
  --card: #1d1d1d;
  --text: #f5f5f5;
  --heading: #ffffff;
  --link: #66b3ff;
  background: var(--bg);
  color: var(--text);
}

body.dark-mode .a11y-toolbar {
  --bar-bg: #1b2733;
  --bar-border: #2c3e50;
  --bar-icon: #8fc2ff;
  --bar-icon-active-bg: #66b3ff;
  --bar-icon-active-fg: #0b1c2c;
  --bar-divider: #3a4d61;
}

body.dark-mode,
body.dark-mode header,
body.dark-mode footer,
body.dark-mode nav,
body.dark-mode section,
body.dark-mode article,
body.dark-mode aside,
body.dark-mode main,
body.dark-mode .container,
body.dark-mode .container-fluid,
body.dark-mode .row,
body.dark-mode .card,
body.dark-mode .box,
body.dark-mode .content,
body.dark-mode .header-top,
body.dark-mode .mask,
body.dark-mode .dotsone,
body.dark-mode .conatct-wrapper,
body.dark-mode .footer-top,
body.dark-mode .table,
body.dark-mode .mask-section,
body.dark-mode .tickercontainer-right,
body.dark-mode .section,
body.dark-mode .organisation-wrapper,
body.dark-mode .roll-section,
body.dark-mode .table-wrap {
  background: var(--card) !important;
}

body.dark-mode .footer-top,
body.dark-mode .organisation-wrapper,
body.dark-mode .conatct-wrapper,
body.dark-mode .section,
body.dark-mode .table-wrap {
  border: 2px solid #343434;
}


body.dark-mode p,
body.dark-mode span,
body.dark-mode li,
body.dark-mode td,
body.dark-mode th,
body.dark-mode label,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
  color: #fff !important;
}

body.dark-mode a {
  color: #66b3ff !important;
}

body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
  background: #2b2b2b !important;
  color: #fff !important;
  border: 1px solid #555 !important;
}

body.dark-mode table {
  background: #1d1d1d !important;
}

body.dark-mode tr {
  background: #1d1d1d !important;
}

body.dark-mode td,
body.dark-mode th {
  border-color: #444 !important;
}

body.dark-mode button,
body.dark-mode .btn {
  background: #0d6efd !important;
  color: #fff !important;
}

body.dark-mode img {
  opacity: .95;
}

/* =========================
   HIGH CONTRAST
========================= */
body.high-contrast {
  --bg: #000;
  --card: #000;
  --text: #ffff00;
  --heading: #ffff00;
  --link: #00ffff;
}

body.high-contrast .a11y-toolbar {
  --bar-bg: #000000;
  --bar-border: #ffff00;
  --bar-icon: #ffff00;
  --bar-icon-active-bg: #ffff00;
  --bar-icon-active-fg: #000000;
  --bar-divider: #ffff00;
}

body.high-contrast,
body.high-contrast header,
body.high-contrast footer,
body.high-contrast nav,
body.high-contrast section,
body.high-contrast article,
body.high-contrast main {
  background: #000 !important;
}

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

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

body.high-contrast .icon-btn.is-active {
  color: #000000 !important;
}

/* =========================
   FONT SIZE
========================= */
body.font-resize-active {
  font-size: var(--font-size);
}

body.font-resize-active p,
body.font-resize-active span,
body.font-resize-active li,
body.font-resize-active a,
body.font-resize-active h1,
body.font-resize-active h2,
body.font-resize-active h3,
body.font-resize-active h4,
body.font-resize-active h5,
body.font-resize-active h6 {
  font-size: inherit !important;
}

/* =========================
   DEMO PAGE CONTENT (remove in production)
========================= */
.demo-wrap {
  max-width: 800px;
  margin: 2.5rem auto;
  padding: 0 1.25rem 3rem;
}

.demo-wrap h1 {
  margin-top: 0;
}

.demo-wrap .card {
  background: var(--card);
  border: 1px solid #e2e2e2;
  border-radius: .6rem;
  padding: 1.25rem 1.5rem;
  margin-top: 1.25rem;
}

.section-terms {
  box-shadow: 0px 0px 20px 0px #0000001a;
  background-color: #fff;
  padding: 20px 20px;
  border-radius: 20px;
  margin-top: 1.7rem;
  margin-bottom: 0.7rem;
  margin: 20px 30px;
  max-width: 1400px;
}

.section-terms-item {
  max-width: 1440px;
  margin: 0 auto;
}

.section-body-terms {
  border-top: 1px solid #cfcfcf;
}

.section-terms h2 {
  font-family: Noto Sans;
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0%;
  color: #1E4D2B;
  margin-bottom: 0.5rem;
}



.section-body-terms p {
  font-family: Noto Sans;
  font-weight: 400;
  font-style: Regular;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0%;
  color: #000;
  margin-bottom: 15px;
  margin-top: 20px;
}

.footer-right p {
  line-height: 1.6;
  font-size: 17px;
  color: #fff;
}

.footer-left p {
  line-height: 1.8;
  font-size: 17px;
  color: #fff;
}

.footer-bottom p {
  font-size: 18px;
  margin: 8px 0;
  line-height: 1.6;
  color: #fff;
}

.js-pagination .dots {
  padding: 0 6px;
  color: #999;
  user-select: none;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* WP injects margin-top:32px on <html> for logged-in admin bar.
   If you see a white strip only while logged in, this is why.
   Keep the admin bar usable but stop it pushing the page: */
body.admin-bar .a11y-toolbar {
  top: 32px;
  /* only matters if you re-enable position:sticky */
}

/* If Astra/Elementor injects an empty theme header, hide it so
   only the custom header renders (harmless if none exists). */
.ast-main-header-wrap:empty,
header#masthead:empty {
  display: none;
}

/* --- 2. Header block: no stacked margins ------------------- */
.site-custom-header,
.site-custom-header>* {
  margin: 0;
}

.site-custom-header h1,
.site-custom-header p,
.site-custom-header ul {
  margin: 0;
}

/* --- 3. Accessibility toolbar: compact --------------------- */
.a11y-toolbar {
  width: 100%;
  background: var(--bar-bg);
  border-bottom: 1px solid var(--bar-border);
  top: 0;
  z-index: 9999;
}

.a11y-toolbar-inner {
  max-width: 1440px;
  /* match .container so edges align */
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .25rem;
  padding: .25rem .75rem;
  /* was .4rem → tighter */
  min-height: 2.1rem;
  /* was 2.5rem → tighter */
}

/* Toolbar icon images: stop the global img{width:100%} rule
   from stretching them and creating odd gaps. */
.a11y-toolbar .icon-btn img {
  width: 1.1rem;
  height: 1.1rem;
  object-fit: contain;
  display: block;
}

/* Never show an empty/stray divider at the start or end. */
.a11y-toolbar-inner>.a11y-divider:first-child,
.a11y-toolbar-inner>.a11y-divider:last-child {
  display: none;
}

/* --- 4. Logo strip: tighter vertical rhythm ---------------- */
.header-top {
  background: #fff;
  padding: 10px 0;
  /* was 15px → tighter */
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.header-logo {
  display: flex;
  align-items: center;
  gap: 15px;
}

.header-logo img {
  width: 64px;
  height: auto;
  flex: 0 0 auto;
}

.header-title h1 {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
}

.header-title p {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  color: #333;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-emblem img {
  width: 56px;
  height: auto;
}

/* gtranslate widget sometimes ships its own margins */
.language-switch,
.language-switch * {
  margin: 0;
}

/* --- 5. Nav bar: no dead height ----------------------------- */
.main-navigation {
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 999;
  box-shadow: 0px 4px 4px 0px #00000040;
  margin: 0;
}

.main-navigation .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 52px;
  /* was 60px → tighter */
}

/* Ivory Search form: strip default form margins that add gap */
.header-search form,
.header-search p {
  margin: 0;
}

/* --- 6. Skip link (restored, hidden until focused) ---------- */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}

.skip-link:focus {
  position: fixed;
  left: 8px;
  top: 8px;
  z-index: 10000;
  background: var(--bar-icon-active-bg);
  color: var(--bar-icon-active-fg);
  padding: .5rem .9rem;
}

.time-zone {
  padding: 5px 0;
  text-align: center;
  border-top: 3px solid #F1F7FF;
  border-right: 3px solid #F1F7FF;
  border-left: 3px solid #F1F7FF;
  border-radius: 6px;
  background: #F1F7FF;
  color: #000000;
  font-size: 16px;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

#cat {
  width: 37% !important;
}

.search {
  background: #1B5E20;
  color: #fff;
  padding: 5px;
  text-decoration: none;
}

.cat-filter-form {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}

.category-dropdown {
  display: flex;
  justify-content: flex-end;
}

.ext-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.55);
  z-index: 99999;
  display: none;
  align-items: flex-start;
  justify-content: center;
}

.ext-modal-box {
  background: #fff;
  max-width: 550px;
  width: 100%;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  text-align: center;
  font-family: inherit;
}

.ext-modal-message {
  font-size: 15px;
  color: #222;
  margin-bottom: 12px;
  line-height: 1.5;
}

.ext-modal-url {
  font-size: 13px;
  color: #666;
  word-break: break-all;
  margin-bottom: 18px;
}

.ext-modal-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.ext-btn {
  padding: 8px 20px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}

.ext-btn-confirm {
  background: #064A0C;
  color: #fff;
}

.ext-btn-confirm:hover,
.ext-btn-confirm:focus {
  background: #064A0C !important;
  color: #fff !important;
}

.ext-btn-cancel {
  background: #e2e2e2;
  color: #333;
}

.ext-btn-cancel:hover,
.ext-btn-cancel:focus {
  background: #e2e2e2 !important;
  color: #333 !important;
}

.slider-controls {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 10;
}

.slider-controls button {
  padding: 8px 15px;
  margin-left: 5px;
  cursor: pointer;
}

.entry-meta {
  display: none;
}

@media screen and (max-width: 768px) {
  .footer-menu {
    /* flex-direction: column; */
    /* gap: 12px; */
    margin: 0;
    padding: 0;

  }
}

@media screen and (max-width: 768px) {
  .footer-menu li {
    width: 100%;
    text-align: left;
  }
}

.menu-toggle {
  background: none;
}

.menu-toggle:focus {
  background: #fff;
  color: #000;
}

.menu-toggle:hover {
  background: #fff;
  color: #000;
}

@media (max-width:735px) {
  .custom-table {
    overflow-x: auto;
  }
}

@media screen and (max-width: 1199px) {
  .main-navigation .container {
    flex-wrap: wrap;
    padding: 10px 10px;
    margin: 0;
    max-width: 1200px;
  }
}

.visitor-counter {
  text-align: center;
  font-size: 18px;
  color: #fff;
}

.visitor-counter strong {
  color: #f0b400;
  font-size: 18px;
}

.container.header-inner {
  max-width: 1440px;
}