/*** Write your CSS structure here. ***/

/* Ensure images visible */
.elementor-widget-image img,
.attachment-large,
.wp-post-image,
.featured img,
.member-image img,
.projects-item img,
.logo-img {
  display: inline-block !important;
  opacity: 1 !important;
  max-width: 100%;
  height: auto;
}
.page-header {
  min-height: 160px;
  display: flex;
  align-items: center;
  position: relative;
}
.page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 31, 41, 0.45);
}
.page-header .container {
  position: relative;
  z-index: 1;
}
.page-header .page-title {
  color: #fff !important;
}


/* Homepage slider only — full-bleed edge to edge (hero is outside .container in HTML) */
html,
body {
  overflow-x: hidden;
}
.home-hero-bleed {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.home-hero-bleed .elementor-section,
.home-hero-bleed .elementor-container,
.home-hero-bleed .elementor-column,
.home-hero-bleed .elementor-widget-wrap,
.home-hero-bleed .elementor-widget,
.home-hero-bleed #custom-elementor-slider,
.home-hero-bleed #custom-elementor-slider .slider-viewport,
.home-hero-bleed #custom-elementor-slider .slide,
.home-hero-bleed #custom-elementor-slider .slide-image {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  left: auto !important;
  transform: none !important;
}
body.home .content-container > .row > .col-md-12 {
  padding-top: 0 !important;
}
body.home #custom-elementor-slider .slide {
  height: clamp(320px, 62vh, 820px) !important;
}
@media (max-width: 767px) {
  body.home #custom-elementor-slider .slide {
    height: clamp(240px, 48vh, 420px) !important;
  }
}

/* Ensure header/footer social brand icons render */
.dl-header-social i.fab,
.dl-footer-social i.fab {
  font-family: "Font Awesome 7 Brands" !important;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
}
.dl-header-social i.fab::before,
.dl-footer-social i.fab::before {
  content: var(--fa) !important;
}

/* Global FA brand/social icon reliability */
.dl-header-social i,
.dl-footer-social i,
.widget_anpssocial a i,
.social a i {
  font-style: normal !important;
  display: inline-block !important;
  line-height: inherit;
}
.dl-header-social i.fab,
.dl-footer-social i.fab,
.widget_anpssocial i.fab,
.social i.fab {
  font-family: "Font Awesome 7 Brands" !important;
  font-weight: 400 !important;
}
.dl-header-social i.fab::before,
.dl-footer-social i.fab::before,
.widget_anpssocial i.fab::before,
.social i.fab::before {
  content: var(--fa) !important;
}
.dl-header-social i.fa,
.dl-footer-social i.fa,
.contact-info i.fa,
.widget_anpstext i.fa {
  font-family: "Font Awesome 7 Free", FontAwesome !important;
  font-weight: 900 !important;
}
.dl-header-social i.fa::before,
.dl-footer-social i.fa::before,
.contact-info i.fa::before,
.widget_anpstext i.fa::before {
  content: var(--fa, none);
}
/* Brand blue overrides for theme yellow leftovers */
aside.sidebar .widget_nav_menu .current-menu-item > a,
aside.sidebar .widget_nav_menu .current_page_item > a,
.vc_row .widget_nav_menu .current-menu-item > a {
  background-color: #07509e !important;
  color: #fff !important;
}

/* Brand blue timeline dots (About Us Core Values + any timeline) */
.timeline-item::before {
  content: "" !important;
  background-color: #07509e !important;
  border-radius: 100% !important;
  box-shadow: 0 0 0 2px #fff;
  width: 8px !important;
  height: 8px !important;
  position: absolute !important;
  z-index: 2 !important;
}
.timeline-item::after {
  background-color: #e4e4e4 !important;
}
