:root {
  --color-area-0: #323841;
  --color-area-1: #82603a;
  --color-area-2: #a1713b;
  --color-area-3: #c1813b;
  --color-area-4: #e0923c;
}

.entry {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.menu .menu-item:first-child {
  padding-left: 0;
}

.card.link-card:hover .card-thumbnail-image {
  filter: none;
}

.card.link-card .card-permalink {
  display: block;

  position: absolute;
  top: auto;
  left: auto;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 2;

  width: 1rem;
  height: 1rem;

  opacity: 0;

  background-image: url('../images/external.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;

  transition: opacity 0.25s;
}

.type-post .card.link-card:hover .card-permalink {
  opacity: 0.375;
}

.type-post .card.link-card .card-permalink:hover {
  opacity: 0.75;
}

@media screen and (max-width: 767px) {
  .type-post .card.link-card .card-permalink {
    opacity: 0.375;
  }
}

.card.link-card:hover .card-thumbnail-image {
  filter: none;
}


.post.type-video .card.link-card .card-thumbnail {
  display: block;
  padding-top: 56.25%;
  overflow: hidden;
}

.post.type-video .card.link-card .card-thumbnail iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

.card-thumbnail-video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background-size: cover;
}

.card-thumbnail-video::after {
  content: '';
  display: block;

  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;

  width: 100%;
  height: 100%;

  opacity: 0.75;

  background-image: url('../images/video-button.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 3.75rem auto;

  cursor: pointer;
  transition: opacity 0.25s;
}

.card-thumbnail-video:hover::after {
  opacity: 1;
}

.card-thumbnail-video .card-thumbnail-image {
  display: none;
}

.card-thumbnail-loader {
  display: flex;
  align-items: center;
  justify-content: center;

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background-color: rgba(0, 0, 0);
}

.card-thumbnail-bounce {
  display: block;

  width: 3rem;
  height: 3rem;
  border: 0.25rem solid rgba(255, 255, 255, 0.75);
  border-bottom-color: transparent;
  border-radius: 50%;

  animation: rotation 1s linear infinite;
}

.area {
  display: block;

  width: 100%;
  margin: 2.5rem auto;

  fill: var(--color-area-0);
}

.map {
  position: relative;
  display: block;
  width: 100%;
  max-width: 32rem;
  margin: 2.5rem auto;
  transition: max-width 0.3s ease;
}

.map .area {
  display: block;
  width: 100%;
  margin: 0;
}

.map.map-expanded {
  max-width: 64rem;
}

@media screen and (min-width: 768px) {
  .map {
    cursor: zoom-in;
  }

  .map .area {
    cursor: inherit;
  }

  .map.map-expanded {
    cursor: zoom-out;
  }
}

.list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  min-width: 0;
  grid-gap: 2rem 1.5rem;
  padding: 0.625rem;
}

.live {
  display: block;
  margin: 2rem 0 2rem;
  font-size: 1rem;
  color: #717e8c;
  padding: 0 0.625rem 2rem;

  border-bottom: solid 0.0625rem #373e48;
}


@media screen and (max-width: 767px) {
  .live {
    margin: 1.25rem 0;
    padding-bottom: 1.25rem;
    font-size: 0.8125rem;
  }
}

.live strong {
  display: block;
  font-size: 2.875rem;
  letter-spacing: 0.0625rem;
  font-weight: 300;
  line-height: 1.375;
  color: #fff;
}

.live em {
  color: #eee;
}

@media screen and (max-width: 767px) {
  .live strong {
    font-size: 2rem;
  }
}

.place {
  display: block;
  min-width: 0;
}

.place-caption {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;

  margin-bottom: 0.25rem;

  font-size: 1rem;
  font-weight: 400;
  line-height: 1.125;
}

.place-flag {
  display: block;
  flex: 0 0 auto;

  width: 1.25rem;
  height: 1.25rem;

  margin-right: 0.5rem;
}

.place-title {
  flex: auto;
  overflow: hidden;

  text-overflow: ellipsis;
  white-space: nowrap;
}

.place-info {
  display: block;
  line-height: 1.25;
}

.place-date {
  color: #717e8c;
  font-size: 0.8125rem;
}

.place-diff {
  font-size: 0.8125rem;
}

.place-map {
  display: inline-flex;
  font-size: 0.8125rem;
  color: #56b6c2;
  margin-top: 0.25rem;
  padding-right: 1rem;

  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='1024' height='1024' viewBox='0 0 1024 1024' fill='%2356b6c2'%3E%3Cpath d='M621.254 877.254l320-320c24.994-24.992 24.994-65.516 0-90.51l-320-320c-24.994-24.992-65.516-24.992-90.51 0-24.994 24.994-24.994 65.516 0 90.51l210.746 210.746h-613.49c-35.346 0-64 28.654-64 64s28.654 64 64 64h613.49l-210.746 210.746c-12.496 12.496-18.744 28.876-18.744 45.254s6.248 32.758 18.744 45.254c24.994 24.994 65.516 24.994 90.51 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 0.625rem auto;
  background-position: right 0.375rem;
}

@keyframes rotation {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}
