.education-main {
  margin: 0;
  color: var(--color-white);
}

.slider-outer {
  position: relative;
  width: 100%;
}

.education-slide-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  padding: 10px 20px;
  border: 1px solid var(--color-lime);
  border-radius: 999px;
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 14px;
}

.education-slide-link:hover {
  background: var(--color-lime);
  color: var(--color-navy);
}

#viewport {
  --mobile-side-space: 30px;
  --carousel-background: var(--color-navy);
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

#viewport.dragging {
  cursor: grabbing;
}

#track {
  position: relative;
  z-index: 1;
  height: 100%;
  will-change: transform;
}

@media (min-width: 768px) {
  #viewport {
    /* Remove the empty 20% below the desktop track without moving the images. */
    margin-bottom: -108px;
  }

  #track {
    position: relative;
    z-index: 1;
    height: 80%;
    will-change: transform;
  }
}

.card {
  position: absolute;
  bottom: 0;
  overflow: hidden;
  border-radius: 20px;
}

.card img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
}

@media (min-width: 768px) {
  .education-main h1 {
    transform: translateY(-96px);
  }

  .education-main {
    background: linear-gradient(
      to bottom,
      var(--color-navy) 0%,
      var(--color-navy) 45%,
      var(--color-black) 100%
    );
  }
}

@media (max-width: 767px) {
  #viewport::before {
    content: "";
    position: absolute;
    z-index: 20;
    inset: 0 auto 0 0;
    width: var(--mobile-side-space);
    background: var(--carousel-background);
    pointer-events: none;
  }
}
