:root {
  --service-card-color: #222;
  --service-card-bgcolor-hover: linear-gradient(#0dcaf0, #ffd700);
  --service-card-bgcolor: whitesmoke;
  --service-card-iconcolor: #ffd700;
  --service-card-iconcolor-hover: #0dcaf0;
  --service-card-titlecolor: #000;
  --service-card-titlecolor-hover: whitesmoke;
  --service-card-bodycolor: #333;
  --service-card-bodycolor-hover: #f0f0f0;
}

.service-card-container {
  padding: 0 1em 1em 1em;
  text-align: center;
}

.service-card {
  width: 100%;
  height: 100%;
  padding: 2em 1.5em;
  border-radius: 5px;
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  transition: 0.5s;
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: var(--service-card-bgcolor);
  color: var(--service-card-color);

  h3 {
    font-size: 20px;
    text-transform: capitalize;
    font-weight: 700;
    color: var(--service-card-titlecolor);
    margin: 1em 0;
    z-index: 3;
  }

  p {
    color: var(--service-card-bodycolor);
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    z-index: 3;
  }

  .icon-wrapper {
    background-color: var(--service-card-bgcolor);
    color: var(--service-card-iconcolor);
    position: relative;
    margin: auto;
    font-size: 30px;
    height: 2.5em;
    width: 2.5em;
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: 0.5s;
    z-index: 3;
  }

  &::after {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--service-card-bgcolor-hover);
    position: absolute;
    left: 0%;
    top: -98%;
    z-index: -2;
    transition: all 0.4s cubic-bezier(0.77, -0.04, 0, 0.99);
  }

  &:hover:after {
    top: 0%;
  }

  &:hover .icon-wrapper {
    color: var(--service-card-iconcolor-hover);
  }

  &:hover h3 {
    color: var(--service-card-titlecolor-hover);
  }

  &:hover p {
    color: var(--service-card-bodycolor-hover);
  }
}
