/* Tile styles */
:root {
  --border-radius: 0.375rem;
}

.tile {
  transition: all ease 0.5s;
  border-radius: var(--border-radius, 0.375rem);
  box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.25);
}

.tile a {
  text-decoration: none;
}

.tile a:hover {
  text-decoration: underline;
}

.tile a.btn:hover {
  text-decoration: none;
}

.tile .audioplayer {
  width: 100%;
}

.tile audio {
  width: 100%;
}

.tile:hover {
  box-shadow: 0px 10px 20px 2px rgba(0, 0, 0, 0.25);
}

.rect-img-container,
.img-container {
  position: relative;
  margin-bottom: 0.5rem;
}

.rect-img-container .badge-container,
.img-container .badge-container {
  z-index: 100;
  position: absolute;
  right: 2%;
  bottom: 2%;
}

.icon-container {
  z-index: 100;
  position: absolute;
  right: 2%;
  bottom: 4%;
}

.rect-img-container::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.i16by9::after {
  content: "";
  display: block;
  padding-bottom: 58%;
}

.rect-img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
  border-radius: calc(var(--border-radius, 0.375rem) * 0.66667);
}

.shimmer {
  -webkit-mask: linear-gradient(-60deg, #000 30%, #0005, #000 70%) right/450% 100%;
  mask: linear-gradient(-60deg, #000 30%, #0005, #000 70%) right/450% 100%;
  background-repeat: no-repeat;
  animation: shimmer 2.5s infinite;
}

@keyframes shimmer {
  100% {
    -webkit-mask-position: left;
  }
}

.fill {
  object-fit: fill;
}

/* EPics Live Component loading animations */
.epics-container {
  position: relative;
  --epics-duration: 8s; /* default, overridden by component */
}

.epics-container img {
  transition: opacity 0.5s ease-in-out;
}

/* Fade effect during Live Component refresh - .loading class added by data-loading directive */
.epics-container.loading img {
  opacity: 0.3;
}

/* Progress bar animation - alternating names to force restart on re-render */
@keyframes epics-countdown-0 {
  from { width: 100%; }
  to { width: 0%; }
}

@keyframes epics-countdown-1 {
  from { width: 100%; }
  to { width: 0%; }
}