/* Online services slider (migrated from DCE "Service Slider") */

.online-services {
  position: relative;
  padding: 0 35px;

  --swiper-navigation-sides-offset: 0;
  --swiper-navigation-size: 45px;
  --swiper-navigation-color: rgb(var(--c-neutral-dark));
}

/* Slider pre-init */
.online-services .swiper-wrapper {
  display: flex;
}

.online-services__slide {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 30px 0.7em 0;
  text-align: center;
}

.online-services__link {
  display: block;
  color: inherit;
}

.online-services__icon {
  position: relative;
  width: 75px;
  height: 75px;
  margin: 0 auto 1em;

  & .font__far {
    font-size: 70px;
    line-height: 75px;
    color: rgb(var(--c-neutral-dark));
    transition: color 0.35s;
  }
}

.online-services__image {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 75px;
  max-height: 75px;
}

.online-services__image.-hover {
  display: none;
}

/* Full slide width: the CDN Poppins runs ~1% wider than live */
.online-services .headline {
  margin: 0 -0.7em;
}

/* No hyphenation like live (gkmb_base sets hyphens: auto on a and h3) */
.online-services__link,
.online-services h3 {
  hyphens: manual;
}

.online-services__text {
  margin-top: 0.3em;
  line-height: 1.4;
  color: rgb(var(--c-neutral-dark));
}

@media (hover: hover) {
  .online-services__link:hover h3,
  .online-services__link:hover .font__far {
    color: rgb(var(--c-primary));
  }

  .online-services__link:hover .online-services__image {
    display: none;
  }

  .online-services__link:hover .online-services__image.-hover {
    display: block;
  }
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 641px) {
  .online-services__slide {
    width: 50%;
  }
}

@media (min-width: 761px) {
  .online-services__slide {
    width: calc(100% / 3);
  }
}

@media (min-width: 1201px) {
  .online-services__slide {
    width: 25%;
  }
}

/* Slides use the full content width, arrows sit outside of it (like live) */
@media (min-width: 1361px) {
  .online-services {
    margin: 0 -70px;
    padding: 0 70px;
  }
}
