/* Department CSS Document */
/*For mobile first adaptive design place styles for mobile and up in the mobile and up area.
Place styles for tablet and up inside the media query in the tablet and up area.
Place styles for desktop only inside the media query in the desktop only area.

For questions or media query training contact Web Development Services.
*/
/* ====================== Mobile and Up ========================== */


:root {
  --steps-surface: #ffffff;
  --steps-text: #0f172a;
  --steps-line: #cbd5e1;
  --steps-border: #e2e8f0;
  --steps-accent: #275d38;
  --steps-accent-dark: #275d38;
  --steps-accent-soft: #FFFFFF;
  --steps-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  --steps-radius: 1rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}


.steps-container {
  margin: 0 auto;
}


.steps-intro {
  margin: 1rem 0 0;

}

.steps-list {
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  position: relative;
}

.step-item {
  position: relative;
  padding-left: 6.5rem;
  min-height: 7rem;
}

.step-item:not(:last-child) {
  padding-bottom: 2rem;
}

/* Vertical connecting line */
.step-item::before {
  content: "";
  position: absolute;
  left: 1.625rem;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--steps-line);
  border-radius: 999px;
}

/* Numbered circle */
.step-item::after {
  content: counter(list-item);
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 3.5rem;
  height: 3.5rem;
  display: grid;
  align-items: center;
	justify-content:center;
  border-radius: 50%;
  background: var(--steps-accent);
  color: white;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow: 0 0 0 6px var(--steps-bg);
}

/* Prevent line from extending awkwardly below last item */
.step-item:last-child::before {
  bottom: 3.5rem;
}

.step-card {
  background: var(--steps-surface);
  border: 1px solid var(--steps-border);
  border-radius: var(--steps-radius);
  padding: 1.5rem 1.5rem 1.25rem;
  box-shadow: var(--steps-shadow);
}

.step-label {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--steps-accent);
}

.step-title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.2;
}

.step-description {
  margin: 0.75rem 0 0;
  color: var(--steps-text);
  font-size: 1rem;
}

/* Featured/final step variation */
.step-item--featured::after {
  background: var(--steps-accent-dark);
}

.step-item--featured .step-card {
  background: var(--steps-accent-dark);
  border-color: var(--steps-accent-dark);
}

.step-item--featured .step-label {
  color: var(--steps-accent-soft);
}

.step-item--featured .step-title,
.step-item--featured .step-description {
  color: white;
}



/* Focus styles if content inside becomes interactive later */
.step-card:focus-within {
  outline: 3px solid rgba(37, 99, 235, 0.35);
  outline-offset: 4px;
}

/* Links */
.dropdown-link {
	color: #00803C;
	text-decoration: underline;
}

/* Responsive */
@media (max-width: 640px) {
  .steps-section {
    padding: 3rem 1rem;
  }

  .steps-list {
    margin-top: 2rem;
  }

  .step-item {
    padding-left: 5rem;
  }

  .step-item::before {
    left: 1.25rem;
  }

  .step-item::after {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1rem;
  }

  .step-card {
    padding: 1.25rem;
  }

  .step-title {
    font-size: 1.25rem;
  }
}

}


/*End mobile and up styles*/
/* ====================== Tablet and Up (Overrides Mobile Styles) ========================== */
@media only screen and (min-width: 768px) {
	
	
}

/*end media query*/
/*End tablet and up styles*/
/* ====================== Landscape Tablet and Up (Overrides Mobile Styles) ========================== */
@media only screen and (min-width: 992px) {
	
	
}

/*end media query*/
/*End landscape tablet and up styles*/
/* ====================== Desktop Only (Overrides Mobile and Tablet Styles) ========================== */
@media only screen and (min-width: 1200px) {
	
	
}

/*end media query*/
/*End desktop only styles*/
/*END OF DOCUMENT*/