@charset "UTF-8";

/* For the hanging indent in the headings */
/* Mobile-first default: no hanging behavior */
.hang {
  display: inline;      /* keep it inline with text */
  padding-left: 0;
}

/* Tablets and up (≥768px) — apply the hang treatment */
@media (min-width: 768px) {
  .hang {
    display: inline-block;  /* becomes its own run-in block after the <br> */
    padding-left: 1em;      /* your indent amount */
  }
}

/* small screen flip box color */
@media (max-width: 767.98px) {
  .sppb-flipbox-front {
    background-color: #f5f5f5 !important; /* your new mobile color */
  }
}

/* login menu link items*/

a.sp-sign-in {
  color: #178343;
}
a.sp-sign-in:hover, a.sp-sign-in:focus {
  color: #e67e22;
}

/* for the strong tag */

strong {
  color: #178343;
  font-weight: 600;
}

/* For strong tag inside dark BG */

.dark-cta {
  color: #39ff14;
  font-weight: 600;
}

.dark-cta2 {
  color: #ff8000;
  font-weight: 600;
}

/* Adjust overall header padding/height */

#sp-header {
  padding-top: 0px;
  padding-bottom: 0px;
  background-color: #fff; /* make sure it's not transparent */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.10); /* drop shadow */
}

/* Optional: shadow persists when menu sticks */
#sp-header.menu-fixed {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
#sp-header::after {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(to right, #ffffff, #002b45, #ffffff);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
#sp-footer {
  position: relative;
}

#sp-footer::before {
  content: "";
  position: absolute;
  top: 0; /* places the line at the top of the footer */
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #333333, #5e5e5e, #333333); /* customize as needed */
  z-index: 1;
}
#sp-bottom {
  position: relative;
}

#sp-bottom::before {
  content: "";
  position: absolute;
  top: 0; /* places the line at the top of the footer */
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #333333, #f5f5f5, #333333); /* customize as needed */
  z-index: 1;
}

/*for the body links*/

body a {
  font-weight: 400; /* normal weight */
}

/* Optional: keep hover/active states the same weight */
body a:hover,
body a:focus,
body a:active {
  font-weight: 400;
}

/* disable the damn overflow problem*/
/* Kill Helix/SPPB sticky blockers */

.body-innerwrapper, sppb-addon-wrapper {
  overflow-x: visible !important;
  transform: none !important;
}

/*card stack stuff thats not active

.card-stack {
  position: relative;
}

/* 2. Make the wrapper a relative container */
.card-stack {
  position: relative;
  /* height will be set via JS below */
}

/* 3. Style each card absolutely inside that wrapper */
.card-stack .card {
  position: absolute !important;
  width: calc(100% - 512px) !important; /* leave 10px padding on each side */
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  border: none !important;
  border-radius: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  cursor: pointer;
}

/* 4. Hover lifts the card and gives it stronger shadow */
.card-stack .card:hover {
  transform: translateY(-5px) scale(1.02) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
}
*/

/* for services accordians */

/* ===== Accordion header styles (scoped) ===== */
/* ===== Accordion container ===== */
/* ===== Collection Layout ===== */
#dc-accordian-1 .sppb-dynamic-content-collection,
#dc-accordian-2 .sppb-dynamic-content-collection,
#dc-accordian-3 .sppb-dynamic-content-collection {
  align-items: stretch !important;
}

#dc-accordian-1 .sppb-dynamic-content-collection__item,
#dc-accordian-2 .sppb-dynamic-content-collection__item,
#dc-accordian-3 .sppb-dynamic-content-collection__item {
  width: 100% !important;
  margin: 0 auto !important;
}

/* ===== Panel behavior ===== */
#dc-accordian-1 .service-panel,
#dc-accordian-2 .service-panel,
#dc-accordian-3 .service-panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 300ms ease, opacity 300ms ease;
}

/* Open panel */
#dc-accordian-1 .service-panel.is-open,
#dc-accordian-2 .service-panel.is-open,
#dc-accordian-3 .service-panel.is-open {
  max-height: 2000px; /* large enough for tallest content */
  opacity: 1;
}

/* ===== Tabs ===== */
#dc-accordian-1 .service-tab,
#dc-accordian-2 .service-tab,
#dc-accordian-3 .service-tab {
  display: block !important;
  width: 100% !important;
  position: relative;
  box-sizing: border-box;
  padding: .75rem 2rem .75rem 1rem;
  margin: 0;
  background: #f5f5f5;
  color: #002b45;
  border-top: 1px solid #002b45;
  border-bottom: 1px solid #002b45;
  line-height: 1.35;
  cursor: pointer;
  user-select: none;
  transition: background-color .15s ease, color .15s ease;
}

/* Hover only when not active */
#dc-accordian-1 .service-tab:not(.is-open):hover,
#dc-accordian-2 .service-tab:not(.is-open):hover,
#dc-accordian-3 .service-tab:not(.is-open):hover {
  background: #e67e22 !important;
  color: #fff !important;
}

/* Active tab */
#dc-accordian-1 .service-tab.is-open,
#dc-accordian-2 .service-tab.is-open,
#dc-accordian-3 .service-tab.is-open {
  background: #002b45 !important;
  color: #fff !important;
}

/* Chevron pinned right */
#dc-accordian-1 .service-tab::after,
#dc-accordian-2 .service-tab::after,
#dc-accordian-3 .service-tab::after {
  content: "\f054"; /* chevron-right */
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
  font-weight: 900;
  font-size: .85em;
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #002b45;
  pointer-events: none;
  transition: transform .2s ease, color .2s ease;
}

/* Active chevron */
#dc-accordian-1 .service-tab.is-open::after,
#dc-accordian-2 .service-tab.is-open::after,
#dc-accordian-3 .service-tab.is-open::after {
  content: "\f078"; /* chevron-down */
  color: #39ff14 !important;
}
