img {
  max-width: 100%;
}

pre {
  font-family: inherit;
  white-space: pre-wrap;
  /* Since CSS 2.1 */
  white-space: -moz-pre-wrap;
  /* Mozilla, since 1999 */
  white-space: -pre-wrap;
  /* Opera 4-6 */
  white-space: -o-pre-wrap;
  /* Opera 7 */
  word-wrap: break-word;
  /* Internet Explorer 5.5+ */
}

.c-pointer {
  cursor: pointer;
}

.container-awards {
  max-width: 1680px;
}

.filters {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1019;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 39.9375em) {
  .filters {
    position: initial;
  }
}

.winner {
  position: relative;
  z-index: 1;
}
.winner > .card-img-top {
  height: 250px;
  object-fit: cover;
  object-position: center;
}

.group-title {
  position: -webkit-sticky;
  position: sticky;
  background-color: white;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  z-index: 2;
}
.group-title a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="%23757575"><path d="M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z"/><path d="M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z"/></svg>');
  visibility: hidden;
}
.group-title a:hover:after {
  visibility: visible;
}
@media screen and (max-width: 39.9375em) {
  .group-title {
    top: 6rem !important;
  }
}
@media screen and (max-width: 39.9375em) {
  .group-title.no-banner {
    top: 3rem !important;
  }
}

.winner::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 500ms;
}

.winner:hover::before {
  opacity: 0.55;
}

#preview-modal #preview-modal-image img {
  max-width: 100%;
  width: auto;
  object-fit: contain;
  max-height: 30rem;
}

#preview-modal #preview-modal-award {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}
#preview-modal #preview-modal-description {
  font-size: 18px;
}

.display-none {
  display: none!important;
}

.display-inline {
  display: inline!important;
}

/* Simple Spinning Loader */
.image-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 10;
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Image container positioning */
.slide, #preview-modal-image {
  position: relative;
}

.slideshow-img, #preview-modal-image img {
  transition: opacity 0.3s ease-in-out;
}

.slideshow-img.loading, #preview-modal-image img.loading {
  opacity: 0.7;
}
