/* 
---------------------------------------------
global styles
--------------------------------------------- 
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
div pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
figure,
header,
nav,
section,
article,
aside,
footer,
figcaption {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}


ul,
li {
  padding: 0;
  margin: 0;
  list-style: none;
}

header,
nav,
section,
footer {
  display: block;
}

* {
  box-sizing: border-box;
}

html,
body {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  background-color: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;

}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0px;
  margin-bottom: 0px;
}

ul {
  margin-bottom: 0px;
}

img {
  width: 100%;
  overflow: hidden;
}

/* Declare the color variable at the :root level */
p {
  font-size: 20px;
  line-height: 1.6;
  text-align: justify;
}


:root {
  --primary-color: #000AC3;
  --text-color: #272626;
  --base-font-size: 17px;
  --heading-font-size: 2.3rem;
  --secondary-color: #E4A51D;
  ;
}

/* 
---------------------------------------------
header
--------------------------------------------- 
*/

.sub-header {
  background-color: #2d4aa3;
  position: relative;
  /* z-index: 1111; */
  top: 'auto';
  z-index: 'auto';
}

.sub-header .left-content p {
  color: #fff;
  padding: 8px 0px;
  font-size: 13px;
}

.sub-header .right-icons {
  text-align: right;
  padding: 8px 0px;
}

.sub-header .right-icons ul li {
  display: inline-block;
  margin-left: 15px;
}

.sub-header .right-icons ul li a {
  color: #fff;
  font-size: 14px;
  transition: all .3s;
}

.sub-header .right-icons ul li a:hover {
  color: var(--secondary-color);
}

.sub-header .left-content p {
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
}

.flash-news {
  white-space: nowrap;
  display: inline-block;
  animation: moveNews 20s linear infinite;
  padding-left: 100%;
  font-size: 17px;
  color: var(--text-color);
}

@keyframes moveNews {
  from {
    transform: translateX(100%);
    /* Start off-screen to the right */
  }

  to {
    transform: translateX(-100%);
    /* End off-screen to the left */
  }
}

.background-header {
  background: url(../images/bg3.jpg) no-repeat center center;
  /* background-color: white; */
  background-size: cover;
  height: auto;
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.background-header .main-nav .nav li a {
  color: #1e1e1e !important;
}

.background-header .logo,
.background-header .main-nav .nav li a {
  color: #1e1e1e;
}

.main-nav ul.nav>li>a:hover {
  color: var(--secondary-color) !important;
}

/* Ensure dropdown links get hover effect */
.main-nav ul.nav .has-sub>ul li a:hover,
.main-nav ul.nav .has-sub-sub>ul li a:hover {
  color: var(--secondary-color) !important;
}

/* Optional: Ensure dropdown stays visible when hovering */
.main-nav ul.nav .has-sub:hover>ul,
.main-nav ul.nav .has-sub-sub:hover>ul {
  display: block !important;
}
/* Top-level active menu item */
.main-nav ul.nav > li.active > a {
  color: var(--secondary-color) !important;
}

/* First-level dropdown active link */
.main-nav ul.nav .has-sub > ul li.active > a {
  color: var(--secondary-color) !important;
}

/* Second-level dropdown active link */
.main-nav ul.nav .has-sub-sub > ul li.active > a {
  color: var(--secondary-color) !important;
}
/* Header Styling */
.header-area {
  position: relative;
  z-index: 1000;
  padding: 1px 0;
}

/* Navigation Container */
.main-nav {
  /* display: flex; */
  align-items: center;
  justify-content: space-between;
}

.logo img {
  width: 80%;
  padding: 3px;
}

/* Navigation Styles */
.nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.header-area .nav {
  margin-top: 16px;
  display: block;
}

.nav li {
  position: relative;
  display: inline-block;
}

.nav li a {
  text-decoration: none;
  color: var(--text-color);
  font-weight: 500;
  transition: all 0.3s ease;
  padding: 0px 10px;
  display: block;
  font-size: 15.3px;
}

.nav .has-sub>a:hover,
nav li a:hover {
  cursor: pointer;
  background: transparent;
  color: var(--secondary-color);
}

/* Dropdown Menu */
.has-sub {
  position: relative;
}

.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  width: max-content;
  min-width: 180px;
  white-space: nowrap;
  padding: 10px 0;
  z-index: 1000;
  border-left: 2px solid var(--primary-color);
  z-index: 9999;
}

.sub-menu li {
  display: block;
  padding: 8px 15px;
  transition: background 0.3s ease;
}

.sub-menu li:hover {
  background: transparent;
  color: var(--secondary-color);
}

.sub-menu li a {
  display: block;
  color: var(--text-color);
  font-weight: 500;
  transition: all 0.3s ease;
}

.sub-menu li a:hover {
  cursor: pointer;
  background: transparent;
  color: var(--secondary-color);
}

/* Submenu inside Dropdown */
.has-sub-sub {
  position: relative;
}
.sub-menu,
.sub-menu-sub {
    text-align: left;
    left: 0;
    right: auto;
    margin: 0;
    padding: 0;
}
.sub-menu-sub {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  background: #fff;
  min-width: 180px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  padding: 10px 0;
  border-left: 2px solid var(--primary-color);
}

/* Add dropdown arrow for main menu items with sub-menus */
.has-sub>a {
  position: relative;
  padding-right: 22px;
  /* More space for the arrow */
}

.has-sub>a::after {
  content: "▾";
  /* Downward arrow */
  position: absolute;
  right: -4px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: bold;
  color: inherit;
  transition: transform 0.3s ease;
}

.has-sub:hover>a::after {
  transform: translateY(-50%) rotate(180deg);
  /* Rotate when hovered */
}

/* Add right arrow for submenus that have nested dropdowns */
.has-sub-sub>a {
  position: relative;
  padding-right: 24px;
  /* More space for the arrow */
}

.has-sub-sub>a::after {
  content: " ▷";
  /* Right arrow */
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  /* Increased size */
  font-weight: bold;
  color: inherit;
  transition: transform 0.3s ease;
}

.has-sub-sub:hover>a::after {
  transform: translateY(-50%) scale(1.3);
  /* Slight scale effect on hover */
}


.main-nav ul.nav .has-sub>a,
.main-nav ul.nav .has-sub-sub>a {
  cursor: default;
}

/* Top level active tab */
.nav>li.active>a {
  color: var(--secondary-color);
}

/* First-level dropdown active */
.nav>li.has-sub ul.sub-menu li.active>a {
  color: var(--secondary-color);
}

/* Second-level dropdown active */
.nav>li.has-sub ul.sub-menu li.has-sub-sub ul.sub-menu-sub li.active>a {
  color: var(--secondary-color);
}

/* js css */
ul.sub-menu {
  display: none;
}

li.is-open-root > ul,
li.is-open-sub > ul,
li.is-open-sub-sub > ul {
  display: block;
}

.has-sub ul, .has-sub-sub ul {
  display: none;
}

.navbar-heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--primary-color);
  text-align: left;
  letter-spacing: 1.3px;
  font-family: "Merriweather", serif;
  position: relative;
  /* padding: 0px 10px; */
}

/* Optional: Adding a subtle shadow for depth */
.navbar-heading {
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.navbar-heading,
.navbar-sub-heading {
  text-align: center;
  display: block;
  width: 100%;
}

.navbar-sub-heading {
  font-size: 15px;
  color: var(--primary-color);
  position: relative;
  display: flex;
  justify-content: center;
  /* Centers text horizontally */
  align-items: center;
  /* Centers text vertically */
  text-align: center;
  /* Ensures text is centered */
  font-family: "Merriweather", serif;
}
.main-nav ul.nav .has-sub > ul,
.main-nav ul.nav .has-sub-sub > ul {
    display: none;
    list-style: none;
    padding-left: 0;
}


/* .navbar-sub-heading::before {
  content: "";
  width: 53%; 
  height: 0.7px; 
  background-color: var(--text-color);
  display: inline-block;
  margin-right: 10px; 
} */

/* mobile nav */

.header-area .main-nav .menu-trigger {
  cursor: pointer;
  position: absolute;
  top: 1px;
  /* Reduced to keep alignment */
  right: 15px;
  /* Keep space from the right */
  width: 25px;
  height: 40px;
  text-indent: -9999em;
  z-index: 100;
  display: none;
}

.header-area .main-nav .menu-trigger span,
.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #1e1e1e;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
}

.background-header .main-nav .menu-trigger span,
.background-header .main-nav .menu-trigger span:before,
.background-header .main-nav .menu-trigger span:after {
  background-color: #1e1e1e;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #1e1e1e;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
  width: 75%;
}

.background-header .main-nav .menu-trigger span:before,
.background-header .main-nav .menu-trigger span:after {
  background-color: #1e1e1e;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  content: "";
}

.header-area .main-nav .menu-trigger span {
  top: 15px;
}

.header-area .main-nav .menu-trigger span:before {
  -moz-transform-origin: 33% 100%;
  -ms-transform-origin: 33% 100%;
  -webkit-transform-origin: 33% 100%;
  transform-origin: 33% 100%;
  top: -10px;
  z-index: 10;
}

.header-area .main-nav .menu-trigger span:after {
  -moz-transform-origin: 33% 0;
  -ms-transform-origin: 33% 0;
  -webkit-transform-origin: 33% 0;
  transform-origin: 33% 0;
  top: 10px;
}

.header-area .main-nav .menu-trigger.active span,
.header-area .main-nav .menu-trigger.active span:before,
.header-area .main-nav .menu-trigger.active span:after {
  background-color: transparent;
  width: 100%;
}

.header-area .main-nav .menu-trigger.active span:before {
  -moz-transform: translateY(6px) translateX(1px) rotate(45deg);
  -ms-transform: translateY(6px) translateX(1px) rotate(45deg);
  -webkit-transform: translateY(6px) translateX(1px) rotate(45deg);
  transform: translateY(6px) translateX(1px) rotate(45deg);
  background-color: #1e1e1e;
}

.background-header .main-nav .menu-trigger.active span:before {
  background-color: #1e1e1e;
}

.header-area .main-nav .menu-trigger.active span:after {
  -moz-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -ms-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -webkit-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  transform: translateY(-6px) translateX(1px) rotate(-45deg);
  background-color: #1e1e1e;
}

.background-header .main-nav .menu-trigger.active span:after {
  background-color: #1e1e1e;
}

.header-area .main-nav .nav li.has-sub-sub ul.sub-menu-sub {
  background: #f8f9fa;
}


@media (max-width: 768px) {
  .heading-style {
    font-size: 1rem !important;
    letter-spacing: 1px;
  }

  .carousel-text {
    font-size: 1rem;
    padding-top: 2rem;
  }

  .header-area .main-nav .logo img {
    width: 100%;

  }

  .navbar-heading {
    font-size: 10px;
    padding-top: 27px;
  }

  .navbar-sub-heading::before {
    display: none;
  }

  .navbar-sub-heading {
    font-size: 8px;
  }

  .header-area {
    background-color: #f7f7f7;
    height: 70px;
    box-shadow: none;
    text-align: center;
  }

  .header-area .logo {
    margin-left: 5px;
  }

  .header-area .menu-trigger {
    display: block !important;
  }

  .header-area .main-nav {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    background: white;
    z-index: 9999;
  }

  .header-area .main-nav .nav {
    float: none;
    width: 100%;
    display: none;
    position: relative;
    -webkit-transition: all 0s ease 0s;
    -moz-transition: all 0s ease 0s;
    -o-transition: all 0s ease 0s;
    transition: all 0s ease 0s;
    margin-left: 0px;
  }

  .header-area .main-nav .nav li:first-child {
    border-top: 1px solid #eee;
  }

  .header-area .main-nav .nav li {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #eee;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .header-area .main-nav .nav li a {
    height: 40px;
    line-height: 50px;
    padding: 0px;
    border: none;
    background: #f7f7f7;
    color: #191a20;
    font-size: 12px;
  }

  .header-area .main-nav .nav li a:hover {
    background: #eee !important;
    color: var(--secondary-color) !important;
  }

  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    position: relative;
    visibility: inherit;
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    top: 0px;
    width: 100%;
    box-shadow: none;
    height: 0px;
    transition: all 0s;
  }

  .header-area .main-nav .nav li.submenu ul li a {
    font-size: 12px;
    font-weight: 400;
  }

  .header-area .main-nav .nav li.submenu ul li a:hover:before {
    width: 0px;
  }

  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    height: auto;
  }

  .header-area .main-nav .nav li.has-sub:after {
    color: #3B566E;
    right: 30px;
    font-size: 14px;
    top: 15px;
  }

  .header-area .main-nav .nav li.submenu:hover ul,
  .header-area .main-nav .nav li.submenu:focus ul {
    height: 0px;
  }

  .header-area .main-nav .nav li.has-sub ul.sub-menu,
  .header-area .main-nav .nav li.has-sub-sub ul.sub-menu-sub {
    display: none;
    position: relative;
    opacity: 1;
    visibility: visible;
    width: 100%;
    box-shadow: none;
  }

  .sub-menu-sub {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    /* Make it full-width for better usability */
  }

  .header-area .main-nav .nav li.has-sub-sub>a {
    display: block;
    padding-left: 15px;
    /* Indent second-level menu */
  }

}
@media (max-width: 990px) {
  .main-nav ul.sub-menu,
  .main-nav ul.sub-menu-sub {
    display: none;
  }
}

/* 
---------------------------------------------
banner
--------------------------------------------- 
*/

/* Footer Styling */
.footer {
  background-color: #1f2649;
  color: #fff;
  padding: 3rem 0;
}

.footer h5 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.footer h5:before {
  content: "── ✧ ⚜ ✧ ──";
  display: block;
  color: var(--secondary-color);
  font-size: 1rem; /* Adjust as needed */
  margin-bottom: 1.25rem;
}


.footer .text {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0.5rem;
  color: #adb5bd;
}

.footer ul {
  list-style: none;
  padding: 0;
}

.footer ul li {
  margin-bottom: 0.5rem;
}

.footer ul li a {
  text-decoration: none;
  transition: color 0.3s;
}

.footer ul li a:hover {
  color: var(--secondary-color);
  /* Bootstrap warning color */
}

.footer button.btn {
  background-color: #343a40;
  border-color: var(--secondary-color);
  color: var(--secondary-color);
}

.footer button.btn:hover {
  background-color: var(--secondary-color);
  color: #343a40;
}

/* Social Media Icons */
.footer .btn-floating:hover i {
  color: #181D38;
}

.footer .btn-floating:hover svg {
  color: #181D38;
}

.footer .btn-floating:hover {
  border-color: #181D38;
}

/* Copyright Section */
.footer .copyright {
  background-color: #181D38;
  padding: 0 0.5rem 0 0.5rem;
}

.footer .p-3 p {
  margin: 0;
  font-size: 17px;
  color: #adb5bd;
}

/* General Footer Styling */
.footer-map {
  width: 100%;
  height: 200px;
  border: none;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.heading-style {
  font-size: 1.7rem;
  color: var(--primary-color);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
}

.heading-style::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  background-color: var(--text-color);
  margin: 10px auto 0;
}

.carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(59, 58, 58, 0.5);
  display: flex;
  align-items: center;
  /* Default vertical centering */
  justify-content: center;
  text-align: center;
  z-index: 2;
  pointer-events: none;
}

.carousel-text {
  color: white;
  font-size: 2.3rem;
  font-weight: 700;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.7);
  letter-spacing: 1px;
  margin-top: 20%;
  /* Moves text downwards */
  transform: translateY(-25%);
  /* Adjusts it to 3/4 height */
}

.carousel-text::after {
  content: "── ✦ ──";
  display: block;
  font-size: 1.2rem;
  color: var(--secondary-color);
  text-align: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .carousel-text {
    font-size: 1rem;
    padding-bottom: 1rem;
  }

  .footer .text-md-start {
    text-align: center !important;
  }

  .footer .text-md-end {
    text-align: center !important;
  }

  .footer .p-3 {
    text-align: center;
  }
}