@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/alegreya-sans-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/alegreya-sans-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/alegreya-sans-latin-700-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/alegreya-sans-latin-900-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/alegreya-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/alegreya-latin-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/alegreya-latin-900-normal.woff2") format("woff2");
}
html,
body {
  margin: 0;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
  font-family: "Alegreya Sans", sans-serif;
  color: #000;
}

.page-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  opacity: 0.5;
  color: #000;
  text-decoration: none;
  padding: 16px;
}
.page-header:hover {
  transition: opacity 0.2s ease;
  opacity: 1;
}

.page-header-back {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.page-header-logotype {
  height: 20px;
  margin-right: 16px;
  position: relative;
  top: -2px;
}

.page-header-title {
  font-family: "Alegreya Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 18px;
  line-height: 20px;
  position: relative;
  top: 1px;
}

@keyframes loading-circle-dash {
  0% {
    stroke-dasharray: 0, 0, 3.490658504px, 1000;
    animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
  }
  50% {
    stroke-dasharray: 0, 0, 94.2477796077px, 1000;
    animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
  }
  100% {
    stroke-dasharray: 0, 90.7571211037px, 3.490658504px, 1000;
  }
}
@keyframes loading-circle-appear {
  from {
    stroke-width: 0;
  }
  to {
    stroke-width: 4px;
  }
}
.loading-spinner {
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: none;
  animation: loading-spinner-rotate-48px 5s linear 2s infinite;
  animation-fill-mode: backwards;
}
.loading-spinner circle {
  fill: none;
  stroke: #000;
  stroke-width: 4px;
  stroke-dasharray: 3.490658504px, 1000;
  transform-origin: 50% 50%;
  animation: loading-circle-dash 1.5s linear 2s infinite, loading-circle-rotate 1.5s linear 2s infinite, loading-circle-appear 3s ease 2s;
  animation-fill-mode: backwards;
}
@keyframes loading-circle-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(100deg);
  }
}
@keyframes loading-spinner-rotate-48px {
  from {
    transform: translate(-50%, -50%) scale(1) rotate(-90deg);
  }
  to {
    transform: translate(-50%, -50%) scale(1) rotate(270deg);
  }
}

html,
body {
  height: 100%;
  overflow: hidden;
}

body {
  display: flex;
  flex-direction: column;
}

.page-header {
  position: absolute;
  left: 0;
  top: 0;
}

.loading-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 48px;
  height: 48px;
}

.artwork-container {
  flex: 1;
  margin: 80px;
  position: relative;
  opacity: 0;
}
@media only screen and (max-width: 499px), only screen and (max-height: 329px) {
  .artwork-container {
    margin: 52px 24px 24px 24px;
  }
}

.artwork-container.is-empty .artwork {
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-image: none !important;
  background-color: #f5f5f5;
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.artwork-container.is-empty .meta {
  left: 24px !important;
  top: 24px !important;
  right: 24px !important;
  max-width: none !important;
}

body.loaded .loading-spinner {
  display: none;
}
body.loaded .artwork-container {
  opacity: 1;
  transition: opacity 1s ease 0.2s;
}

.artwork {
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);
}

.artwork-link {
  color: rgba(51, 51, 51, 0.5);
}
.artwork-link:hover {
  color: #333;
  transition: color 0.2s ease;
}

.meta {
  position: absolute;
  font-family: "Alegreya", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  text-decoration: none;
  z-index: 100;
}
.meta .attribution {
  font-family: "Alegreya Sans", sans-serif;
  font-size: 12px;
  line-height: 16px;
  margin-bottom: 4px;
}
.meta .title {
  font-weight: 900;
}
.meta .byline {
  font-size: 16px;
  line-height: 20px;
}

/*# sourceMappingURL=today.css.map */
