/**====================================================================================================
    Site Navbar Styles - START
====================================================================================================**/


/*-- Base Flexible Container Layout ----------------------------------*/

.navbar {
  background-color: transparent !important; 
  border-bottom: 3px solid rgba(212, 175, 55, 1) !important; /* Anchor border state permanently */
  transition: background-color 0.3s ease-in-out;
  display: flex;
  align-items: center;
  box-sizing: border-box !important;          /* Prevent padding breaking bottom line alignments */
}

.navbar-logo-flush {
  height: 60px;                              /* Scale property context */
  width: auto;
  object-fit: contain;
  display: block;
}


/*-- Solid Scroll and Hover Activations ------------------------------*/

.navbar.scrolled {
  background-color: #2F3E46 !important;      /* Inject solid tone on scroll */
}

@media (min-width: 992px) {
  .navbar:hover {
    background-color: #2F3E46 !important;    /* Fill on desktop mouse entry */
  }
}


/*-- Navigation Link States and Gapping ------------------------------*/

.navbar .navbar-brand,
.navbar .nav-link,
.navbar .dropdown-item {
  color: #FFFFFF !important;
  text-transform: uppercase;
  white-space: nowrap; 
  transition: color 0.2s ease-in-out;
}

@media (min-width: 992px) {
  .navbar .nav-link {
  }
}

/* FIXED: Explicitly enforces transparent backgrounds on dropdown hover elements to eliminate the tint */
.navbar .nav-link:hover,
.navbar .nav-link.active,
.navbar .nav-link.show,                      
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-item.active {
  color: #D4AF37 !important;                 
  background-color: transparent !important;  /* FIXED: Strips out Bootstrap's background highlight overlay */
  opacity: 1;
}

@media (max-width: 991.98px) {
  .navbar .nav-link:focus:not(.active):not(.show) {
    color: #FFFFFF !important;
  }
}




/*-- Dropdown Sub-menu Floating Cards --------------------------------*/

.navbar .dropdown-menu {
  background-color: #2F3E46;
  border: 2px solid rgba(212, 175, 55, 1);                 /* Restored border box rule */
  border-radius: 0px; 
}

/* FIXED: Strips out Bootstrap's default hover background highlight entirely */
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
  background-color: transparent !important;                /* Eliminates the yellow-tinted background hover block */
  color: #D4AF37 !important;                               /* Guarantees the text safely transitions to your gold accent */
}

.navbar .dropdown-menu .dropdown-divider {
  border-top: 2px solid rgba(212, 175, 55, 1) !important;
  margin: 0.5rem 0;                          /* Highlight gold horizontal break line */
  opacity: 1;
}

@media (min-width: 992px) {
  .navbar .nav-item.dropdown:hover .dropdown-menu {
    display: block;                          /* Reveal layout panel box on entry */
  }
  .navbar .dropdown-menu[data-bs-popper] {
    top: 100%; 
    left: 0;
    margin-top: 0.75rem;                     /* Clearance margin distance metrics */
  }
}


/*-- Responsive Mobile Viewport Manipulations -----------------------*/

@media (max-width: 991.98px) {
  .navbar .container.navbar-mobile-wrap {
    display: flex !important;
    flex-wrap: wrap !important;              /* Wrap links container below logo line */
    align-items: center !important;
    justify-content: space-between !important;
  }

  .navbar .navbar-collapse {
    width: 100% !important;
    flex-basis: 100% !important;
    margin-top: 0.75rem;
  }

  .navbar .navbar-nav,
  .navbar .nav-item,
  .navbar .nav-link {
    text-align: left !important;
    justify-content: flex-start !important;  /* Flush left aligned row structures */
    align-items: flex-start !important;
    width: 100% !important;
    padding-left: 0 !important;
  }

  .navbar .custom-dropdown-trigger {
    display: inline-flex !important;         
    justify-content: flex-start !important;
    align-items: center !important;
    width: auto !important;
  }

  .navbar:has(.navbar-collapse.show),
  .navbar:has(.navbar-collapse.collapsing),
  .navbar.scrolled {
    background-color: #2F3E46 !important;     /* Force background fill solid state */
  }

  .navbar:has(.navbar-collapse.show) {
    padding-bottom: 1.5rem !important; 
  }

  .navbar .nav-item {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: none !important;          /* Clean block stacking layout */
  }

  .navbar .dropdown-menu {
    border: none !important;
    padding-left: 1.25rem;
    background-color: transparent;           /* Flow cleanly inline inside mobile stack */
  }
}


/*-- Custom Clean Mobile Toggler Layouts -----------------------------*/

.navbar .custom-mobile-toggle-btn {
  border: none !important;           
  background-color: transparent !important;
  padding: 0.25rem;
  outline: none !important;          
  box-shadow: none !important; 
  display: none !important;                  /* Mask toggler structure by default */
}

@media (max-width: 991.98px) {
  .navbar .custom-mobile-toggle-btn {
    display: flex !important;                /* Unmask button asset on small screens */
    align-items: center;
    justify-content: center;
  }

  /* Main Sandwich/X-Square State Triggers */
  .navbar .custom-mobile-toggle-btn.collapsed .icon-menu-closed { display: block !important; }
  .navbar .custom-mobile-toggle-btn .icon-menu-open { display: block !important; }
  .navbar .custom-mobile-toggle-btn .icon-menu-closed { display: none !important; }
  .navbar .custom-mobile-toggle-btn.collapsed .icon-menu-open { display: none !important; }

  /* Nested Projects Sub-Item Menu Triggers */
  .navbar .custom-projects-btn .icon-dropdown-closed { display: block !important; }
  .navbar .custom-projects-btn .icon-dropdown-open { display: none !important; }
  
  .navbar .custom-projects-btn.show .icon-dropdown-closed { display: none !important; }
  .navbar .custom-projects-btn.show .icon-dropdown-open { display: block !important; }
}


/**====================================================================================================
    Site Navbar Styles - END
====================================================================================================*/



/**====================================================================================================
    Site Footer Styles - START
====================================================================================================**/


/*-- Base Container Structural Layouts -------------------------------*/

.footer {
  background-color: #2F3E46 !important;     
  border-top: 2px solid rgba(212, 175, 55, 1) !important; 
  box-sizing: border-box !important;
  /* FIXED: Reduced global bottom cushioning to minimize whitespace around the 4th column */
  padding-bottom: 2rem !important; 
}

.footer-heading {
  color: #D4AF37 !important;                 
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.footer-text {
  color: #FFFFFF !important;
}


/*-- Navigation Link Hierarchies -------------------------------------*/

.footer .footer-link {
  color: #FFFFFF !important;
  text-transform: uppercase;
  text-decoration: none;
  display: block;
  margin-bottom: 0.25rem !important;
  padding: 0.35rem 0 !important;
  transition: color 0.2s ease-in-out;
}

.footer .footer-link:hover,
.footer .footer-link.active,
.footer .custom-projects-btn:hover,
.footer .custom-projects-btn.active,
.footer .custom-projects-btn.show,
.footer .footer-dropdown-item:hover,
.footer .footer-dropdown-item.active {
  color: #D4AF37 !important;
  opacity: 1;
}

@media (max-width: 991.98px) {
  .footer .custom-projects-btn:focus:not(.active):not(.show) {
    color: #FFFFFF !important;
  }
}
/*-- Unified Sliding Inline Dropdown System --------------------------*/

.footer .footer-custom-dropdown {
  position: relative;
  width: 100%;
}

.footer .custom-projects-btn {
  display: inline-flex !important;
  align-items: center !important;
  cursor: pointer;
  color: #FFFFFF !important;
  text-transform: uppercase;
  text-decoration: none;
  margin-bottom: 0.25rem !important;
  padding: 0.35rem 0 !important;
  transition: color 0.2s ease-in-out;
}

.footer .footer-sliding-menu {
  position: static !important;
  width: 100%;
  max-height: 0;                             
  overflow: hidden;
  transition: max-height 0.35s ease-in-out;  
}

.footer .custom-projects-btn.show + .footer-sliding-menu {
  max-height: 300px;                         
}

.footer .footer-dropdown-menu {
  text-align: left !important;
  padding-left: 0 !important;
  margin: 0 !important;
  width: 100%;
}

/* FIXED: Replicates the background hover animation with a translucent gold accent block layout */
.footer .footer-dropdown-item {
  color: #FFFFFF !important;
  text-transform: uppercase;
  text-decoration: none;
  display: block;
  text-align: left !important;               
  padding: 0.5rem 0 0.5rem 1.25rem !important; 
  font-size: 1.25rem !important;
  white-space: nowrap;
  transition: color 0.2s ease, padding-left 0.2s ease, background-color 0.2s ease;
}

/* FIXED: Slides rightward and applies the soft navbar-matching translucent highlight block */
.footer .footer-dropdown-item:hover {
  padding-left: 1.75rem !important;        
}

.footer .dropdown-divider {
  border-top: 1px solid rgba(212, 175, 55, 1) !important;
  width: 100%;
  margin: 0.5rem 0;
}


/*-- Social Media SVGs & Meta Rows -----------------------------------*/

.footer .social-link {
  color: #FFFFFF !important;
  transition: color 0.2s ease-in-out;
}

.footer .social-link:hover {
  color: #D4AF37 !important;                 
}

.footer-border-top {
  border-top: 1px solid rgba(212, 175, 55, 1) !important; 
}

@media (max-width: 991.98px) {
  .footer-border-top {
    border-top: none !important;             
  }
  
  /* FIXED: Compresses vertical grid gaps above the 4th column specifically on mobile viewports */
  .footer .row.mt-2 {
    margin-top: 0.25rem !important; 
    padding-top: 0rem !important;
  }
}

.footer-copyright {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.95rem;
  text-transform: uppercase;
}


/*-- Responsive Mobile Accordion Adaptations -------------------------*/

@media (max-width: 991.98px) {
  .footer-col {
    border-bottom: 1px solid rgba(212, 175, 55, 1) !important; 
    padding-bottom: 1rem;
  }

  .footer .footer-mobile-trigger {
    border: none !important;
    background-color: transparent !important;
    color: #D4AF37 !important;
    font-size: 1.5rem;
    font-weight: 600;
    padding: 0.5rem 0;
    outline: none !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .footer .dropdown-menu,
  .footer .footer-sliding-menu {
    position: static !important;
    float: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 1.25rem !important;
  }
  
  /* Overrides mobile default script hiding to let items flow inline when container expands */
  .footer .footer-sliding-menu {
    display: block !important;
  }
}


/*-- Dynamic SVG Icon Vector State Toggles ---------------------------*/

@media (max-width: 991.98px) {
  /* Main Accordion Column Display Switches */
  .footer .footer-mobile-trigger.collapsed .icon-footer-closed { display: block !important; }
  .footer .footer-mobile-trigger.collapsed .icon-footer-open { display: none !important; }
  .footer .footer-mobile-trigger .icon-footer-closed { display: none !important; }
  .footer .footer-mobile-trigger .icon-footer-open { display: block !important; }
}

.footer .custom-projects-btn .icon-dropdown-closed { display: block !important; }
.footer .custom-projects-btn .icon-dropdown-open { display: none !important; }

.footer .custom-projects-btn.show .icon-dropdown-closed { display: none !important; }
.footer .custom-projects-btn.show .icon-dropdown-open { display: block !important; }


/**====================================================================================================
    Site Footer Styles - END
====================================================================================================**/
