.zeroen .campaign {
  padding-top: 0;
  padding-bottom: 32px;
}

.zeroen .campaign .service-update {
  position: relative;
  text-align: center;
}

.zeroen .campaign .service-update p {
  position: relative;
  z-index: 1;
  line-height: 1.45;
}

.zeroen .campaign .service-update .service-update-lead {
  display: inline-block;
  color: #4e2f2b;
  background: #ffdb6c;
  border-radius: 100vh;
  padding: 5px 16px;
  font-size: 1.6rem;
  font-weight: 800;
}

.zeroen .campaign .service-update .service-update-message {
  margin-top: 12px;
  color: #4e2f2b;
  font-size: 2.2rem;
  letter-spacing: 0.02em;
  -webkit-text-stroke: 5px #fcf9f0;
  paint-order: stroke fill;
  filter: drop-shadow(0 2px 0 rgba(78, 47, 43, 0.2));
}

.zeroen .campaign .service-update .service-update-date {
  color: #ff5600;
}

.zeroen .campaign .service-update .service-update-marker {
  background-image: linear-gradient(transparent 60%, #ffdb6c 60%);
  background-repeat: no-repeat;
  background-size: 0 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  animation: service-update-marker-draw 0.8s 0.35s ease-out forwards;
}

.zeroen .campaign .service-update-burst {
  position: absolute;
  z-index: 0;
  top: 32%;
  width: 52px;
  height: 70px;
  background: url(../images/service-update-burst.png) center / contain no-repeat;
  pointer-events: none;
}

.zeroen .campaign .service-update-burst-left {
  left: 12px;
  animation: service-update-burst-left 1.6s ease-in-out infinite;
}

.zeroen .campaign .service-update-burst-right {
  right: 12px;
  animation: service-update-burst-right 1.6s 0.18s ease-in-out infinite;
}

@keyframes service-update-marker-draw {
  to {
    background-size: 100% 100%;
  }
}

@keyframes service-update-burst-left {
  0%, 100% {
    opacity: 0.72;
    transform: translateY(-50%) scale(0.94) rotate(-3deg);
  }
  50% {
    opacity: 1;
    transform: translateY(-50%) scale(1) rotate(2deg);
  }
}

@keyframes service-update-burst-right {
  0%, 100% {
    opacity: 0.72;
    transform: translateY(-50%) scaleX(-1) scale(0.94) rotate(-3deg);
  }
  50% {
    opacity: 1;
    transform: translateY(-50%) scaleX(-1) scale(1) rotate(2deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zeroen .campaign .service-update-marker {
    background-size: 100% 100%;
    animation: none;
  }

  .zeroen .campaign .service-update-burst-left,
  .zeroen .campaign .service-update-burst-right {
    animation: none;
  }

  .zeroen .campaign .service-update-burst-left {
    transform: translateY(-50%);
  }

  .zeroen .campaign .service-update-burst-right {
    transform: translateY(-50%) scaleX(-1);
  }
}
