:root {
  --bs-primary: #ea4e3d; /*red*/
  --bs-secondary: #4eacf4;
  --bs-heading-color: #ea4e3d;
 
}

  
.navbar{
  --bs-navbar-brand-color: #ea4e3d; /*red*/;
  --bs-navbar-hover-color: #ea4e3d;
  --bs-navbar-active-color: #ea4e3d;
  --bs-navbar-color: #f9f9f9;
  --bs-navbar-brand-hover-color: #ea4e3d;
}

.offcanvas a {
  color: #fff !important;
}

.btn-primary {
  --bs-btn-bg: #ea4e3d;
  --bs-btn-border-color: #ea4e3d;
}

.text-primary {
color: #4eacf4;

}

.decusa-title {
font-family: 'Bebas Neue', sans-serif;
font size: 1.9em; !important;
}

.text-gold {
  color: #f3b941;
}

.text-dk-blue {
  color: #180d51;
}

.section-hero .subtitle::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 200px;
  height: 2px;
  background: var(--bs-primary);
  }

.btn-sm {
--bs-btn-font-size: 20px;
}

.historical-year-wrapper {
  top: 10px;
}

.footer-disclaimer {
  border: 1px solid #a3a0b8;
  padding: .5rem;
  font-size: 0.9rem;
  color: #a3a0b8;
  background-color: rgb(24, 13, 81);
  border-radius: 4px;
  margin-top: 2rem;
  box-sizing: border-box;
}

.footer-disclaimer p {
    margin: 0 0 0.5rem;
    font-family: var(--bs-font-sans-serif);
}

.footer-disclaimer a {
    color: var(--bs-link-color);
    text-decoration: underline;
    transition: color 0.2s ease;
}

.footer-disclaimer a:hover {
    color: var(--bs-link-hover-color);
}

.logo-header {
  width: 275px;       
  height: auto;
  display: block;
  padding: 8px;
}


.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgb(24, 13, 81);
}

.header-1 {
  --bs-header-bg: rgb(24, 13, 81);
}
.offcanvas {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: rgb(24, 13, 81);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

.copyright-text {
    text-align: center;
    font-size: 1rem;
    color: #a3a0b8; !important
    flex: 1;
}

.copyright {
    text-align: center;
}

@media (min-width: 992px) {
    .copyright-text {
        flex: 0 1 auto;
    }
    .copyright .d-flex {
        justify-content: flex-end;
    }
}

/* Misc Jud-Legis Custom 
============== */
.gray-bg {
  background: #F6F6F6;
}
.navy-bg {
  background: #180d51;
}

.section-padding {
  padding: 100px 0;
}


/* Legislative Section 
============== */

.legis-area {
  background-image: url('images/legis-watermark.jpg');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: auto;
  padding: 80px 0;
  position: relative;
  z-index: 1;
}


.legis-wrapper {
  background: #fff;
  box-shadow: 0 3px 9px -2px #d0cece;
  margin-top: 30px;
  position: relative;
}

.legis-inner {
  text-align: center;
  padding: 50px 30px;
  border-right: 1px solid #eee;
}

.legis-inner h5 {
  font-size: 22px;
  margin: 40px 0 20px;
}

.legis-inner:nth-last-child(4) {
  border-right: none;
}

.legis-icon {
  width: 100px;
  height: 100px;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.legis-icon img {
  width: 70%; /* adjust this if you want it smaller or larger */
  height: auto;
}

.legis-icon:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f6f6f6;
  border-radius: 50%;
  z-index: -1;
  transition: 0.3s ease;
}

.legis-inner:hover .legis-icon:after {
  background: #ce9040;
  opacity: 0.2;
  transform: scale(1.2); /* smoother scale effect instead of manual px */
}


/* Judicial Section 
============== */
.judicial-area {
  background-image: url('../images/judicial-bg.jpg');
  background-size: cover;
  background-position: 90% center;
  background-repeat: no-repeat;
  position: relative;
  padding: 100px 0;
}

@media (max-width: 768px) {
  .judicial-area {
    background-position: 90% center; /* Shift focus for mobile */
  }
}


.judicial-stack-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* change from center */
  position: relative;
  margin-left: 12%; /* adjust this as needed for alignment */
}


.judicial-line {
  position: absolute;
  width: 12px;
  top: 0;
  bottom: 20px;
  left: 216px; /* distance from left edge of stack */
  background-color: red;
  z-index: 0;
}

.judicial-card {
  background-color: #fff;
  color: #696194;
  padding: 15px 15px;
  width: 100%;
  max-width: 450px;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  margin-bottom: 20px; 
}


.judicial-card h4 {
  text-transform: uppercase;
  margin-bottom: 15px;
  font-size: 20px;
  color: #ea4e3d;
}

.judicial-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.judicial-card li {
  margin-bottom: 8px;
  font-size: 15px;
}

@media (max-width: 768px) {
  .judicial-area {
    background-position: 90% center;
  }

  .judicial-stack-wrapper {
    align-items: center;
    margin-left: 0;
  }

  .judicial-line {
    left: 50%;
    transform: translateX(-50%);
  }
}



/*RESPONSIVE SECTION */

    

@media (max-width: 1200px) {
.logo-header {
  width: 200px;       
  height: auto;
  display: block;
  padding: 8px;
}

@media (max-width: 992px) {
  .mobile-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  @media (max-width: 992px) {
  .mobile-logo .logo-header {
    width: 250px;   /* or your desired width */
    height: auto;
  }
}

  .mobile-menu-toggle {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
  }

  .mobile-donate-btn {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
  }

.logo-header {
  width: 175px;       
  height: auto;
  display: block;
  padding: 8px;
}
.bg-dark {
  background-color: rgb(24, 13, 81);
}

.navbar-custom-blue {
  background-color: rgb(24, 13, 81);
}

@media (max-width: 992px) {
  .mobile-logo img {
    height: 77px;     
    max-width: 170px; 
  }

  .mobile-donate-btn {
    font-size: 0.85rem;
    padding: 4px 10px;
    height: auto;
  }

  .mobile-menu-toggle svg {
    width: 30px;
    height: auto;
  }

  .navbar .container {
    height: 80px !important;
  }
}

@media only screen and (max-width: 767px) {
  .legis-inner {
    border-bottom: 1px solid #eee;
  }
}

/* NEW MENU */

/* Mobile Menu Animation Styles */
.burger-container {
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center;
}

#burger .bar {
  width: 24px;
  height: 2px;
  margin: 5px 0;
  background: white;
  transition: all 0.4s ease-in-out;
}

.burger-container.menu-opened .topBar {
  transform: translateY(6px) rotate(45deg);
}

.burger-container.menu-opened .btmBar {
  transform: translateY(-6px) rotate(-45deg);
}

/* Overlay Nav */
@media (max-width: 1199.98px) {
  .mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    overflow: hidden;
    background-color: #000042;
    z-index: 10001;
    transition: height 0.4s ease-in-out;
  }

  .mobile-menu-overlay.active {
    height: 100vh;
  }

  .mobile-menu-list {
    list-style: none;
    margin-top: 120px;
    padding: 0 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }

  .mobile-menu-overlay.active .mobile-menu-list {
    opacity: 1;
    transform: translateY(0);
  }

  .mobile-menu-list li {
    list-style: none;
  }

  .mobile-menu-list a {
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
    font-weight: 300;
    display: block;
  }
}

/* Hide mobile menu overlay by default */
.mobile-menu-overlay {
  display: none !important; /* Use !important to override any potential conflicts from style.css or Bootstrap */
}

/* NEW MENU (your existing styles, updated to include display override) */

/* Mobile Menu Animation Styles */
.burger-container {
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center;
}

#burger .bar {
  width: 24px;
  height: 2px;
  margin: 5px 0;
  background: white;
  transition: all 0.4s ease-in-out;
}

.burger-container.menu-opened .topBar {
  transform: translateY(6px) rotate(45deg);
}

.burger-container.menu-opened .btmBar {
  transform: translateY(-6px) rotate(-45deg);
}

/* Overlay Nav */
@media (max-width: 1199.98px) {
  .mobile-menu-overlay {
    display: block !important; /* Override default hide for mobile */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    overflow: hidden;
    background-color: #000042;
    z-index: 10001;
    transition: height 0.4s ease-in-out;
  }

  .mobile-menu-overlay.active {
    height: 100vh;
  }

  .mobile-menu-list {
    list-style: none;
    margin-top: 10px;
    padding: 0 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }

  .mobile-menu-overlay.active .mobile-menu-list {
    opacity: 1;
    transform: translateY(0);
  }

  .mobile-menu-list li {
    list-style: none;
  }

  .mobile-menu-list a {
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
    font-weight: 300;
    display: block;
  }
}

/* Mobile Menu Logo Styles */
.mobile-menu-logo-wrapper {
  width: 100%;
  background-color: #000042; /* match your overlay background */
  padding-top: 3.5rem;
}

.mobile-menu-logo {
  max-width: 250px;  /* adjust this value as needed */
  height: auto;
  display: inline-block;
}

/* Keep desktop styles untouched */
/* Mobile HERO fix */

@media (max-width: 767.98px) {
  .hero-wrapper {
    padding: 1.5rem 1.25rem 0 1.25rem;
    position: relative;
    min-height: auto !important;
  }

  .hero-inner-text {
    text-align: left;
    align-items: flex-start;
    padding-bottom: 0; /* Already minimal, keep this */
    margin-bottom: 0.5rem; /* Reduce bottom gap */
  }

  .hero-heading {
    font-size: 1.85rem;
    line-height: 1.3;
    margin-bottom: 0.5rem; /* Tighten heading spacing */
  }

  .hero-text {
    font-size: 1.05rem;
    margin-bottom: 0.5rem; /* Reduce spacing under paragraph */
  }

  .hero-buttons {
    margin-bottom: 0rem;
  }

  .hero-image-1 {
    position: absolute;
    bottom: 0;
    right: 0px;
    width: 55%;
    max-width: 230px;
  }

  .hero-image-1 img {
    width: 100%;
    height: auto;
  }

  .parallax {
    min-height: 400px !important;
  }
}

@media (max-width: 767.98px) {
  .heroSwiper .swiper-slide .hero-image-1 {
    right: -50px;        /* move image right */
    transform: none;     /* prevent inherited translateX from Swiper */
    max-width: 440px;    /* keep size in check */
    width: auto;
  }
}

@media (max-width: 768px) {
  .hero-buttons .btn {
    --bs-btn-padding-y: 0.8rem;
  }
.hero-1 {
  --bs-hero-inner-text-padding: 40px 0 500px 0;
}
  
}






/*@media (max-width: 1399.98px) {
  .navbar-nav {
    --bs-nav-link-padding-y: 2.5rem;
  }*/