.card {
  position: absolute;
  left: 100%;
  top: 0;
  width: 250px;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  padding: 15px;
  line-height: 1;
  box-sizing: border-box;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  transform: translateX(0);
  transition: opacity 200ms linear, transform 150ms ease-out;
}
.video-grid__link:hover ~ .card {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translateX(18px);
}
.card.card--left {
  right: 100%;
  transform: translateX(-18px);
}
.timeline__container .card--left {
  left: auto;
}
/**
 * Directional arrows that sit outside the cards. Padding is added in order
 * to create a larger hover target.
 */
.card__arrow {
  position: absolute;
  top: 70px;
  left: -27px;
  width: 27px;
  overflow: hidden;
  height: 50px;
/**
   * Trick to creating a shadow for the arrow. Create a fake element underneath
   * the actual arrow that can handle a shadow. The shape isn't exactly the
   * same, but it is hard to tell given the level of blur on the shadow.
   */
}
.card__arrow:after {
  content: '';
  width: 0;
  height: 0;
/**
     * Using inset for transparent borders fixes an issue in Firefox where
     * the edges are jagged.
     */
  border-top: 25px inset transparent;
  border-bottom: 25px inset transparent;
  border-right: 27px solid rgba(255,255,255,0.96);
  position: absolute;
}
.card__arrow:before {
  content: '';
  width: 27px;
  height: 27px;
  position: absolute;
  transform: rotate(45deg);
  top: 16px;
  left: 16px;
  box-shadow: 1px 0px 20px rgba(0,0,0,0.2);
}
.card--left .card__arrow {
  left: auto;
  right: -27px;
}
.card--left .card__arrow:after {
  border-right: 0;
  border-left: 27px solid rgba(255,255,255,0.96);
}
.card--left .card__arrow:before {
  left: auto;
  right: 13.5px;
}
.card__content {
  padding: 20px;
}
.card__button {
  overflow: hidden;
  background-color: rgba(0,0,0,0.1);
  display: block;
  padding: 20px 20px 20px 70px;
  position: relative;
}
.card__button:hover {
  text-decoration: none;
  background-color: rgba(0,0,0,0.18);
}
.footer {
  position: relative;
  padding: 6px 0;
  color: #f0f0f0;
  font-size: 13px;
  font-weight: 500;
  background: #222;
  text-transform: lowercase;
}
.footer::after {
  display: block;
  content: '';
  clear: both;
}
.footer__text {
  padding: 0 14px;
  white-space: nowrap;
}
.footer__text--copyright {
  float: right;
}
/* Hide the footer, which is moved to the nav, done so on collection page only */
@media (max-height: 480px) and (max-width: 767px) {
  .collection_body .footer {
    display: none;
  }
}
.header {
  position: relative;
  padding: 20px 22px;
  white-space: nowrap;
}
.header__logo {
  display: inline-block;
  vertical-align: middle;
  width: 196px;
  height: 29px;
  background: url("http://dujye7n3e5wjl.cloudfront.net/images/time-100-photos-logo.png");
  background-size: 100%;
  transition: initial;
}
.header__logo--link:hover,
.header__logo--link:focus {
  background-position: 0 -29px;
}
/* Shared styling */
.nav__item {
  padding: 0 15px;
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.nav__link {
  outline: none;
}
.nav__link:hover,
.nav__link:focus {
  text-decoration: none;
  border-bottom: 2px solid #e90606;
}
/* Display a hamburger nav */
@media (max-width: 767px) {
  .header {
    padding: 10px 14.5px 30px;
  }
  .nav-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 12px 14.5px 0 0;
    pointer-events: none;
    background: transparent;
    transition: background 0.2s linear;
    z-index: 1000;
  }
  .nav-wrapper__hamburger {
    float: right;
    padding: 0;
    font-size: 28px;
    background: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    pointer-events: auto;
  }
  .nav-wrapper__hamburger--icon {
    color: #6a6a6a;
  }
  .nav-wrapper__hamburger--close {
    color: #bbb;
  }
  .nav-wrapper__hamburger--icon:hover,
  .nav-wrapper__hamburger--close:hover,
  .nav-wrapper__hamburger--icon:focus,
  .nav-wrapper__hamburger--close:focus {
    color: #e90606;
  }
  .nav {
    padding-top: 10vh;
    line-height: 58px;
    display: none;
  }
  .nav__item {
    display: block;
    padding-left: 45px;
    font-weight: 500;
  }
  .nav__item--footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    text-transform: lowercase;
    font-size: 13px;
    color: #bbb;
    background: #171717;
  }
  .body--nav-active {
    overflow: hidden;
    position: fixed;
    width: 100vw;
    height: 100vh;
  }
  .body--nav-active .nav-wrapper {
    position: fixed;
    pointer-events: auto;
    background: rgba(0,0,0,0.85);
  }
  .body--nav-active .nav-wrapper__hamburger--icon {
    display: none;
  }
  .body--nav-active .nav-wrapper__hamburger--close,
  .body--nav-active .nav {
    display: block;
  }
}
/* remove menu item padding and layout footer elements horizontally on short screens */
@media screen and (orientation: landscape) {
  .nav {
    padding-top: 0;
  }
  .nav__item--footer li {
    display: inline-block;
    padding: 0 14px;
    white-space: nowrap;
  }
}
/* Display a horizontal nav */
@media (min-width: 768px) {
  .nav-wrapper__hamburger {
    display: none;
  }
  .nav-wrapper,
  .nav {
    display: inline-block;
  }
  .nav {
    vertical-align: middle;
    margin-left: 26px;
    padding: 5px 12px;
    border-left: 2px solid #b2b2b2;
  }
  .nav__item {
    padding: 0 15px;
    display: inline-block;
  }
  .nav__item--footer {
    display: none;
  }
  .nav__link {
    color: #808080;
  }
  .nav__link:hover,
  .nav__link:focus {
    color: #000;
  }
  .nav__link:active {
    color: #404040;
  }
  .nav__link--external-icon {
    margin-left: 3px;
  }
  .header--inverted {
    z-index: 100;
  }
  .header--inverted .header__logo {
    background-position: 0 -58px;
  }
  .header--inverted .nav__link {
    color: #fff;
  }
  .header--inverted .nav__link:active {
    color: #eee;
  }
}
/* Tweak the padding when the collection reflows */
@media (max-width: 680px) {
  .header {
    padding: 10px 14.5px;
  }
}
body {
  min-width: 320px;
  min-height: 100vh;
  background: #f0f0f0 url("http://dujye7n3e5wjl.cloudfront.net/images/vignette.jpg");
  background-size: cover;
}
.wf-loading {
  visibility: hidden;
}
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
button {
  margin: 0;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* Share Button */
.share {
  display: inline-block;
  position: relative;
  padding: 0 11px;
  font-size: 13px;
  font-weight: 700;
  line-height: 22px;
  white-space: nowrap;
  text-transform: uppercase;
  background: #fff;
  border: 1px solid #aaa;
  cursor: pointer;
}
.share:hover,
.share:focus {
  background: rgba(255,255,255,0.75);
}
.share:active {
  background: rgba(255,255,255,0.5);
}
.share--absolute-bottom-center {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, calc(50% + 1.5px));
}
.share__icon {
  display: inline-block;
  width: 15px;
  height: 17px;
  margin-left: 2px;
  vertical-align: sub;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -68 1024 1024'%3E%3Cg fill='%23e90606'%3E%3Cpath d='M111 126q-7 98 8 180t61 143.5t127 100t206 48.5v172l401 -273l-403 -273v174q-73 -4 -131.5 -26.5t-106.5 -58.5t-87.5 -84t-74.5 -103v0z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transform: scale(1, -1);
}
/* Share button popovers */
.share__buttons {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}
.share__button {
  width: 50px;
  height: 50px;
  margin: 1px;
  display: inline-block;
  color: #fff;
}
.share__button:last-of-type {
  margin-left: 0;
}
/* Display the buttons */
.share--active .share__buttons {
  opacity: 1;
  pointer-events: auto;
}
/* Share butotn specific styles */
.share__button-icon {
  display: inline-block;
  width: 50px;
  line-height: 50px;
  font-size: 26px;
  text-align: center;
  background-color: #6a6a6a;
  transition: background 0.2s;
}
.share__button--facebook:hover,
.share__button:focus .share__button--facebook {
  background-color: #3b5998;
}
.share__button--twitter:hover,
.share__button:focus .share__button--twitter {
  background-color: #4099ff;
}
body {
  color: #0d0d0d;
  font-family: "franklin-gothic-urw", helvetica, sans-serif;
  -webkit-font-smoothing: antialiased; /* Prefixed, since autoprefixer doesn't handle this */
  -moz-osx-font-smoothing: grayscale; /* Prefixed, since autoprefixer doesn't handle this */
  font-size: 17px;
  font-weight: 300;
  line-height: 29px;
}
i {
  font-style: italic;
}
a {
  color: inherit;
  text-decoration: none;
  transition: text-decoration 0.1s linear, opacity 0.1s linear, color 0.1s linear, border 0.1s linear, background 0.1s linear, font-size 0.1s linear, box-shadow 0.1s linear, outline 0.1s linear, transform 0.1s linear;
}
a:hover,
a:focus {
  text-decoration: underline;
}
a:active {
  opacity: 0.8;
}
button {
  font-family: inherit;
}
/* Adding in icon font */
@font-face {
  font-family: 'icons';
  src: url("/resources/T100-icons.woff2") format('woff2'), url("/resources/T100-icons.woff") format('woff');
}
[data-icon]::before {
  display: inline-block;
  font-family: 'icons';
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  font-variant: normal;
  font-style: normal;
  text-transform: none;
  line-height: 1em;
  -webkit-font-smoothing: antialiased; /* Prefixed, since autoprefixer doesn't handle this */
  -moz-osx-font-smoothing: grayscale; /* Prefixed, since autoprefixer doesn't handle this */
}
.text--11 {
  font-size: 11px;
}
.text--12 {
  font-size: 12px;
}
.text--14 {
  font-size: 14px;
}
.text--16 {
  font-size: 16px;
}
.text--20 {
  font-size: 20px;
}
.text--24 {
  font-size: 24px;
}
.text--36 {
  font-size: 36px;
}
.text--medium {
  font-weight: 400;
}
.text--semibold {
  font-weight: 500;
}
.text--bold {
  font-weight: 700;
}
.text--extra-bold {
  font-weight: 800;
}
.text-grey--dark {
  color: #333;
}
.text--uppercase {
  text-transform: uppercase;
}
.font-secondary {
  font-family: "franklin-gothic-urw-comp", sans-serif;
}
.letter-spacing--2 {
  letter-spacing: 2px;
}
.line-height--1-0 {
  line-height: 1;
}
.line-height--1-4 {
  line-height: 1.4;
}
.u-clearfix::after {
  clear: both;
  content: '';
  display: block;
}
.u-hide-text {
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.u-nowrap {
  white-space: nowrap;
}
.u-collapse-container {
  display: inline-block;
  width: 0;
}
.u-none {
  display: none;
}
.u-display-flex {
  display: -ms-flexbox;
  display: flex;
}
.u-flex-align--center {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.u-clear-both {
  clear: both;
}
.u-space-above--2 {
  margin-top: 2px;
}
.u-space-above--4 {
  margin-top: 4px;
}
.u-space-above--8 {
  margin-top: 8px;
}
.u-space-above--10 {
  margin-top: 10px;
}
.u-space-below--10 {
  margin-bottom: 10px;
}
.page {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.body--timeline-is-visible {
  height: 100vh;
/**
   * On narrow screens, ensure the overflow is hidden
   */
/**
   * Don't center flexed items on small height screens.
   */
}
@media (max-width: 479px) {
  .body--timeline-is-visible {
    overflow: hidden;
  }
}
@media (max-height: 479px) {
  .body--timeline-is-visible {
    -ms-flex-pack: start;
        justify-content: flex-start;
    overflow: scroll;
  }
}
.collection__main {
  padding: 29px 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
}
.inline-video {
  position: relative;
  width: 880px;
  max-width: 100%;
  margin: 29px auto 0;
  padding-top: 56.25%;
}
@media (min-width: 880px) {
  .inline-video {
    height: 495px;
    padding-top: 0;
  }
}
.article-wrapper {
  max-width: 600px;
  margin: 43.5px auto 14.5px;
  padding: 0 14.5px;
}
.article-wrapper--bottom {
  margin-bottom: 43.5px;
}
.article-wrapper--bottom::before {
  display: block;
  content: '';
  border-top: 2px solid #fff;
  padding-bottom: 14.5px;
}
/* Credit */
.photo__credit {
  font-size: 15px;
  font-style: italic;
  color: #808080;
}
/* Return Link */
.photo-detail__link {
  display: inline-block;
  margin: 10px 0 36px;
  font-size: 13px;
  font-weight: 100;
  text-transform: uppercase;
  color: #2d2d2d;
  line-height: 38px;
}
/* Photo Link */
.photo-detail__link--icon {
  font-size: 26px;
  padding-right: 10px;
  color: #a1a1a1;
  display: inline-block;
  vertical-align: middle;
}
.photo-detail__link:hover .photo-detail__link--icon,
.photo-detail__link:focus .photo-detail__link--icon {
  color: inherit;
}
.photo-detail__link:active {
  opacity: 0.9;
}
.video-detail__video-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #000;
}
.video-detail__close {
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 18px;
  color: rgba(255,255,255,0.5);
}
.video-detail__close:hover {
  color: #e90606;
}
/* Article Layout */
.article p {
  margin-bottom: 29px;
}
.article h2 {
  font-weight: 700;
}
.article i,
.article em {
  font-style: italic;
}
.cta {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 450px) {
  .cta {
    -ms-flex-pack: center;
        justify-content: center;
    margin: 10px 0 20px 0;
  }
}
@media (min-width: 451px) {
  .cta {
    padding: 40px 0 20px 0;
  }
}
.cta-details {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
@media (max-width: 450px) {
  .cta-details {
    text-align: center;
    -ms-flex-align: center;
        align-items: center;
    margin: 10px 30px;
  }
}
@media (min-width: 451px) {
  .cta-details {
    -ms-flex: 0 1 50%;
        flex: 0 1 50%;
    margin-top: -210px;
    padding-bottom: 70px;
  }
}
.cta-details .cta-details__text {
  margin-bottom: 17px;
}
.cta-details__text {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  font-size: smaller;
}
.cta-details__text span {
  display: block;
  padding-bottom: 10px;
  line-height: 19px;
}
@media (min-width: 630px) and (min-width: 768px) {
  .cta-details__text {
    width: 350px;
  }
}
.cta-details__shop {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  text-transform: uppercase;
  font-weight: bold;
  border: 1px solid #888;
  width: 190px;
  text-align: center;
  vertical-align: middle;
  background-color: #efefef;
}
@media (min-width: 451px) and (max-width: 629px) {
  .cta-details__shop {
    margin-top: -15px;
  }
}
.cta-details__shop--icon {
  font-size: 15px;
  padding-right: 10px;
  color: #000;
  display: inline-block;
  vertical-align: middle;
}
.cta-image {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 313px;
}
@media (min-width: 451px) {
  .cta-image {
    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
    margin-top: -35px;
  }
}
@media (min-width: 451px) and (max-width: 629px) {
  .cta-image img {
    width: 200px;
  }
}
@media (min-width: 630px) and (min-width: 768px) {
  .cta-image {
    margin-right: -80px;
  }
}
.cta-logo {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}
@media (max-width: 450px) {
  .cta-logo {
    text-align: center;
    margin: 10px;
  }
}
@media (min-width: 451px) {
  .cta-logo {
    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
  }
}
.cta-logo__logo {
  display: inline-block;
  vertical-align: middle;
  width: 196px;
  height: 29px;
  background: url("http://dujye7n3e5wjl.cloudfront.net/images/time-100-photos-logo.png");
  background-size: 100%;
  background-position: 0 -29px;
  transition: initial;
}
.audio {
  margin-bottom: 29px;
}
.audio__player {
  margin-top: 5px;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
/* Figure Layout */
.figure {
  margin: 0 -50px 14.5px;
}
.figure__image {
  display: block;
  max-width: 100%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.figure__credit {
  margin: 0 10px 14px 0;
  font-size: 12px;
  color: #999;
  font-style: italic;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}
/* Caption beneath the image */
.figure__caption {
  margin-bottom: 29px;
  font-size: 15px;
  font-style: italic;
}
/* Responsive Images */
@media (max-width: 700px) {
  .figure {
    margin-left: -14.5px;
    margin-right: -14.5px;
  }
}
/* Gallery layout */
.gallery {
  list-style: none;
  margin: 0 -57.25px 19.5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.gallery__item {
  max-width: 33.3333%;
}
.gallery__link {
  display: block;
  margin: 0 2.25px 9.5px;
  border: 5px solid transparent;
  transition: none;
  outline: none;
}
.gallery__link:hover,
.gallery__link:focus {
  border-color: #e90606;
  transition: all 0.1s linear;
}
.gallery__thumbnail {
  display: block;
  max-height: 190px;
  max-width: 100%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
/* Gallery Image */
.gallery-frame {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  background: none center no-repeat rgba(0,0,0,0.9);
  background-size: contain;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.gallery-frame__text {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  font-size: 17px;
  line-height: 24px;
  color: #fff;
  background: rgba(0,0,0,0.6);
}
.gallery-frame__text:empty {
  display: none;
}
.gallery-frame .gallery__caption {
  padding: 0 20px 20px;
  margin: 0;
}
.gallery__credit {
  text-align: right;
  margin-right: 10px;
  font-size: 13px;
  color: #999;
  text-transform: uppercase;
}
.gallery-frame__control {
  position: absolute;
  top: 0;
  color: #fff;
  background: transparent;
  border: 0;
  cursor: pointer;
  outline: none;
  text-shadow: 0 2px 7px rgba(0,0,0,0.5);
  transition: all 0.1s linear;
  opacity: 0.75;
}
.gallery-frame__control:hover {
  color: #e90606;
  opacity: 1 !important;
}
.gallery-frame__control:active {
  opacity: 0.8 !important;
}
.gallery-frame__control.crawl-control--initial {
  color: #fff;
  opacity: 0.75 !important;
}
.gallery-frame__button--previous,
.gallery-frame__button--next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 80px;
}
.gallery-frame__button--previous {
  left: 0;
  padding: 0 40px 0 0;
}
.gallery-frame__button--next {
  right: 0;
  padding: 0 0 0 40px;
}
.gallery-frame__close {
  top: 0;
  right: 0;
  padding: 20px;
  font-size: 18px;
}
/* Responsive Gallery Styles */
@media (max-width: 744px) {
  .gallery {
    margin-left: -7.25px;
    margin-right: -7.25px;
  }
}
@media (max-width: 629px) {
  .gallery__item {
    max-width: 50%;
    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
  }
  .gallery__thumbnail {
    max-height: 160px;
  }
}
.map {
  width: 100%;
  height: 400px;
  margin-bottom: 28px;
}
/* Header Bar */
.hero-header {
  position: relative;
  padding: 54px 22px 60px;
  text-align: center;
  line-height: 32px;
  font-size: 26px;
  background: rgba(0,0,0,0.75);
}
.hero-header__header {
  font-family: "franklin-gothic-urw-comp", sans-serif;
  font-size: 120px;
  line-height: 0.85em;
  text-transform: uppercase;
  transition: opacity 1s ease-out;
}
/* Year Section */
.hero-header__year {
  display: inline-block;
  position: relative;
  padding: 18px 0 18px 16px;
  font-family: "franklin-gothic-urw-comp", sans-serif;
  letter-spacing: 16px;
  text-transform: uppercase;
}
.hero-header__year::before,
.hero-header__year::after {
  content: '';
  position: absolute;
  top: 50%;
  border-top: 1px solid #fff;
}
.hero-header__year::before {
  right: 100%;
}
.hero-header__year::after {
  left: 100%;
}
/* Photographer and Quote */
.hero-header__photographer {
  font-family: "franklin-gothic-urw", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
}
.hero-header__quote {
  max-width: 720px;
  margin: 12px auto 6px;
  font-family: georgia, garamond, times, serif;
  font-style: italic;
/* Add in curly quotes at beginning and end of content. */
}
.hero-header__quote::before {
  content: '\201c';
}
.hero-header__quote::after {
  content: '\201d';
}
.hero-header__attribution {
  max-width: 720px;
  margin: 0 auto;
  font-size: 18px;
}
.hero-header__attribution::before {
  content: '\2014';
}
/* Motion Design for Header */
/* The hero-header--active-fonts variant is added when the fonts load. */
.hero-header,
.hero-header__header,
.hero-header--delayed {
  opacity: 0;
}
.hero-image--active-fonts .hero-header,
.hero-image--active-fonts .hero-header__year {
  animation: hero-header--fade 1.4s ease-out 1 forwards;
}
.hero-image--active-fonts .hero-header__header {
  animation: hero-header--fade 1.4s ease-out 1 forwards;
}
.hero-image--active-fonts .hero-header--delayed {
  animation: hero-header--fade 1.4s ease-out 1s 1 forwards;
}
.hero-image--active-fonts .hero-header__year::before,
.hero-image--active-fonts .hero-header__year::after {
  animation: hero-header__year--extend 3s ease-out 1.6s 1 forwards;
}
@keyframes hero-header--fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes hero-header__year--extend {
  0% {
    width: 0;
  }
  100% {
    width: 200px;
  }
}
.hero-image {
  position: relative;
  top: -79px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
  min-height: 100vh;
  color: #fff;
  background: #222;
  overflow: hidden;
}
.hero-image::after {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 20vh;
  min-height: 150px;
  max-height: 300px;
  content: '';
  background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent);
}
.isIE11 .hero-image {
  height: 100vh;
}
.hero-image__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.07);
  transition: opacity 1s ease-in-out;
}
.hero-image__image.hero-image--loaded {
  opacity: 1;
}
.hero-image--active-fonts .hero-image__image {
  animation: hero-image--pan 12s ease-in-out 1 forwards;
}
/* Motion Design */
/* When swapping to hamburger menu (for phones), we'll drop the hero photo. */
@media (max-width: 767px) {
  .hero-image {
    display: none;
  }
}
@keyframes hero-image--pan {
  0% {
    transform: scale(1.07);
  }
  100% {
    transform: scale(1.22);
  }
}
.lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: none center no-repeat rgba(0,0,0,0.9);
  z-index: 1000;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}
.lightbox.show {
  display: -ms-flexbox;
  display: flex;
}
.lightbox__figure {
  width: 100%;
  height: 100vh;
  background: none center no-repeat;
  background-size: contain;
}
.lightbox__control {
  opacity: 0;
  pointer-events: none;
  transition: 0.4s opacity;
}
.lightbox.controls-active .lightbox__control {
  opacity: 1;
  pointer-events: all;
}
.lightbox__control--hide {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 0;
  background: transparent;
  outline: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 18px;
  cursor: pointer;
  transition: opacity 0.4s, color 0.4s;
}
.lightbox__control--hide:hover {
  color: #e90606;
}
/* Skip Link */
.photograph-link__wrapper {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  -ms-flex-order: 1;
      order: 1;
  text-align: center;
}
.photograph-link {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  line-height: 42px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  white-space: nowrap;
  background: rgba(0,0,0,0.75);
}
.photograph-link:hover,
.photograph-link:focus {
  text-decoration: none;
  color: inherit;
  background: #000;
}
.photograph-link::after {
  margin-left: 8px;
  display: inline-block;
  vertical-align: middle;
  content: '';
  border: 0 solid transparent;
  border-top-color: #e90606;
  border-width: 14px 8px 0;
}
/* When the hero image appears, shift up the photo */
@media (min-width: 768px) {
  .photograph-target {
    position: relative;
    top: -38px;
    margin-top: -40px;
  }
}
/* Photograph */
.photograph-figure {
  margin: 0 116px;
  position: relative;
}
.photograph__image {
  max-width: 100%;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
  -webkit-touch-callout: none; /* Autoprefixer doesn't handle this */
  touch-callout: none; /* Disables hold to save on iPhone */
}
.photograph__figure-controls {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: calc(100% - 29px);
  max-width: 600px;
  margin: 0 auto;
  padding: 14.5px 14.5px 0;
}
.photograph__figure-controls--expand {
  outline: none;
  cursor: pointer;
  padding: 0;
  font-size: 75%;
  text-transform: uppercase;
  background: transparent;
  border: none;
  font-weight: 300;
  transition: transform 0.2s;
}
.photograph__figure-controls--expand:hover {
  transform: scale(1.04, 1.04);
}
.photograph__figure-controls-logo--expand {
  display: inline-block;
  width: 13px;
  height: 15px;
  margin-right: 8px;
  vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -68 1024 1024'%3E%3Cg fill='%230d0d0d'%3E%3Cpath d='M1024 641h-121v198h-211v121h332v-319zM121 641h-121v319h315v-121h-194v-198zM315 -64h-315v328h121v-207h194v-121zM1024 -64h-332v121h211v207h121v-328z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
/* Nav Items */
.photograph__nav {
  position: absolute;
  top: 50%;
  margin: -54px -20px 0;
  padding: 20px;
}
.photograph__nav--previous {
  left: -94px;
}
.photograph__nav--previous:hover .photograph__arrow,
.photograph__nav--previous:focus .photograph__arrow {
  border-right-color: #e90606;
}
.photograph__nav--next {
  right: -94px;
}
.photograph__nav--next:hover .photograph__arrow,
.photograph__nav--next:focus .photograph__arrow {
  border-left-color: #e90606;
}
/* secondary navigation that is used on narrow screens */
.photograph__narrow-nav {
  visibility: hidden;
  display: none;
}
.photograph__narrow-nav--previous {
  -ms-flex-pack: start;
      justify-content: flex-start;
}
.photograph__narrow-nav--previous a {
  padding-right: 20px;
}
.photograph__narrow-nav--next {
  -ms-flex-pack: end;
      justify-content: flex-end;
}
.photograph__narrow-nav--next a {
  padding-left: 20px;
}
.photograph__arrow {
  display: block;
  width: 0;
  height: 0;
  border: 34px solid transparent;
  border-width: 34px 0;
  overflow: hidden;
}
.photograph__arrow--previous {
  border-right-width: 17px;
  border-right-color: #1e1e1e;
}
.photograph__arrow--next {
  border-left-width: 17px;
  border-left-color: #1e1e1e;
}
.photograph__nav--collection {
  position: absolute;
  left: -55px;
  top: 50%;
  margin-top: -0.5em;
  color: #808080;
  font-size: 32px;
}
.photograph__nav--collection:hover,
.photograph__nav--collection:focus {
  color: #e90606;
}
/* For narrow windows and tablets, remove the windowpane icon */
@media (max-width: 1024px) {
  .photograph-figure {
    margin: 0 55px;
  }
  .photograph__nav--previous {
    left: -33px;
  }
  .photograph__nav--next {
    right: -33px;
  }
  .photograph__nav--collection {
    display: none;
  }
}
/* For even narrower resolutions, like those on phones, break away from the view height. */
@media (max-width: 450px), (max-height: 450px) {
  .photograph-figure {
    margin: 0;
  }
  .photograph__image {
    position: absolute;
    top: 0;
  }
  .photograph__nav--previous,
  .photograph__nav--next,
  .photograph__nav--collection {
    display: none;
  }
  .photograph__narrow-nav {
    visibility: visible;
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
  }
  .photograph__figure-controls--expand {
    visibility: hidden;
  }
  .photograph__image {
    pointer-events: none;
  }
}
/* For larger resolutions, snap the height of the photograph to near the page height. */
@media (min-width: 451px) and (min-height: 451px) {
  .photograph {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    height: calc(100vh - 140px);
  }
  .photograph-target + .photograph {
    height: calc(100vh - 100px);
  }
  .photograph-image__wrapper {
    padding-top: 0 !important; /* This overwrites an inline style. The style is inline because it changes for each image. */
  }
  .photograph-figure {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
  }
  .photograph__image {
    position: absolute;
    top: 50%;
    left: 50%;
    max-height: 100%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,0.35);
  }
}
/* Photography Information */
.photograph__information {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  margin-top: 14.5px;
  padding: 0 14.5px;
}
.photograph__information--text {
  display: -ms-flexbox;
  display: flex;
}
.photograph__title {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding-right: 20px;
  font-size: 22px;
  font-weight: 100;
  text-align: right;
  border-right: 1px solid #b6b6b6;
}
.photograph__credit {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  position: relative;
  left: -1px;
  padding: 4px 0 4px 20px;
  line-height: 20px;
  border-left: 1px solid #b6b6b6;
}
@media (min-width: 480px) {
  .photograph__credit {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
  }
}
.photograph__photographer {
  font-weight: 700;
}
.photograph__year {
  font-family: georgia, garamond, times, serif;
  font-style: italic;
  opacity: 0.75;
}
.related__header {
  font-weight: 700;
}
.related-photos {
  margin: 20px -7.25px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.related-photos__item {
  max-width: 33.3333%;
}
.related-photos__link {
  display: block;
  border: 5px solid transparent;
  margin: 0 2.25px 9.5px;
  transition: none;
}
.related-photos__link:hover,
.related-photos__link:focus {
  border-color: #e90606;
  transition: all 0.1s linear;
}
.related-photos__photo {
  display: block;
  max-height: 190px;
  max-width: 100%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
@media (max-width: 479px) {
  .related-photos {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-pack: center;
        justify-content: center;
  }
  .related-photos__item {
    max-width: 100%;
  }
  .related-photos__photo {
    max-height: 240px;
  }
}
/* Left and Right Arrows */
.crawl-control {
  box-sizing: content-box;
  background: none;
  border: 0;
  outline: 0;
  color: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  position: fixed;
  z-index: 1;
  cursor: pointer;
  padding: 20px 0;
  font-size: 100px;
  line-height: 100px;
  color: #fff;
  top: 50%;
  text-shadow: 0 1px 15px rgba(0,0,0,0.35);
  transform: translateY(-50%);
  transition: opacity 250ms ease, color 250ms ease;
  opacity: 0;
  visibility: hidden;
  display: none;
}
.crawl-control:hover {
  color: #e90606;
  opacity: 1 !important;
}
.crawl-control:active {
  opacity: 0.8 !important;
}
.crawl-control.crawl-control--initial {
  color: #fff;
  opacity: 0.75 !important;
}
.page--overlay .crawl-control {
  visibility: hidden;
}
@media (min-width: 681px) {
  .crawl-control--collection {
    display: block;
  }
}
@media (min-width: 480px) {
  .crawl-control--timeline {
    display: block;
  }
}
@media (orientation: landscape) {
  .crawl-control--timeline {
    display: none;
  }
}
@media (orientation: landscape) and (min-height: 480px) {
  .crawl-control--timeline {
    display: block;
  }
}
.crawl-control--visible {
  opacity: 0.75;
  visibility: visible;
}
.crawl-control--prev {
  left: 0;
}
.crawl-control--next {
  right: 0;
}
.collection_main {
  padding-top: 15px;
  -ms-flex-positive: 1;
      flex-grow: 1;
}
.collection-photo {
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.collection__link:hover .collection-photo,
.collection__link:focus .collection-photo {
  box-shadow: 0 0 0 5px #e90606;
  transition: box-shadow 1ms 100ms ease-out;
}
.collection__link:hover .card,
.collection__link:focus .card {
  z-index: 100;
  opacity: 1;
  visibility: visible;
  transform: translateX($card-hover-offset);
}
.collection__link:focus {
  outline: none;
}
/* Responsive Collection Styles */
/* width sensitive */
@media (max-width: 680px) {
  .main {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center;
    padding: 20px;
  }
  .main .collection-photo {
    display: block;
    height: 180px;
    margin: 7px;
  }
}
@media (max-width: 660px) {
  .main .collection-photo {
    height: 160px;
  }
}
@media (max-width: 540px) {
  .main .collection-photo {
    height: 140px;
  }
}
/* Full screen styles */
@media (min-width: 681px) {
  .collection_body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
  }
  .isIE11 .collection_body {
    height: 100vh;
  }
  .collection_main {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
  }
  .collection {
/* Allow for x-overflow */
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    margin-top: -70px;
    margin-bottom: -70px;
    -ms-overflow-style: none;
  }
  .collection .main {
    margin-top: 70px;
    margin-bottom: 70px;
  }
  .collection::-webkit-scrollbar {
    display: none;
  }
  .main {
    position: relative;
  }
  .collection-photo {
    position: absolute;
  }
}
/* height sensitive */
@media (max-height: 413px) {
  .collection_main {
    overflow-y: scroll;
  }
}
@media (min-width: 681px) and (min-height: 821px) {
  .collection_main {
/* Cap the max height, for tall screens */
    max-height: 685px;
  }
}
.collection__toggle {
  position: absolute;
  right: 20px;
  top: 46px;
  display: block;
  padding: 0 14px;
  line-height: 28px;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
  cursor: pointer;
  outline: none;
  border: 1px solid #e90606;
  background: transparent;
  z-index: 100;
  transition: background 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.collection__toggle:hover,
.collection__toggle:focus {
  background: #eee;
}
.collection__toggle:active,
.collection__toggle.timeline--is-visible {
  color: #fff;
  background: #e90606;
}
/* Card Styles */
@media (max-width: 767px), (max-height: 479px) {
  .main .card {
    display: none;
  }
}
.main .card__arrow {
  top: calc(50% - 25px);
}
.main .card__content--collection {
  padding: 1.25em;
  font-size: 16px;
  line-height: 1.625em;
}
.main .card__running-time__logo {
  font-size: 1.8125em;
  display: inline-block;
  vertical-align: middle;
}
/* Responsive styles to scale cards */
@media (max-height: 730px) {
  .card .card__content--collection {
    font-size: 15px;
  }
}
@media (max-height: 680px) {
  .card .card__content--collection {
    padding: 15px;
    font-size: 14px;
  }
}
@media (max-height: 620px) {
  .card .card__content--collection {
    padding: 10px;
    font-size: 13px;
  }
}
@media (max-height: 550px) {
  .card .card__content--collection {
    padding: 5px;
    font-size: 12px;
  }
}
/* Animations for non-mobile screens */
@media (min-width: 681px) {
  .page--overlay .collection {
    animation: collection--glass 5000ms ease-in-out 1 forwards, collection--glass-in 2500ms ease-out 5000ms 1 forwards;
  }
  .page--overlay .collection > .sidebar,
  .page--overlay .collection > .main {
    animation: collection--scroll 8000ms cubic-bezier(0.25, 0.15, 0.75, 0.85) 1 forwards;
  }
  .page--overlay .header {
    animation: collection--hide 3000ms linear 1 forwards, collection--fade 500ms ease-in 3000ms 1 forwards;
  }
  .page--overlay .footer {
    animation: collection--hide 3500ms linear 1 forwards, collection--fade 500ms ease-in 3500ms 1 forwards;
  }
  .page--overlay .footer__text {
    animation: collection--hide 4000ms linear 1 forwards, collection--fade 500ms ease-in 4000ms 1 forwards;
  }
  .page--overlay .nav__item:nth-of-type(1) {
    animation: collection--hide 5500ms linear 1 forwards, collection--fade 500ms ease-in 5500ms 1 forwards;
  }
  .page--overlay .nav__item:nth-of-type(2) {
    animation: collection--hide 6000ms linear 1 forwards, collection--fade 500ms ease-in 6000ms 1 forwards;
  }
  .page--overlay .nav__item:nth-of-type(3) {
    animation: collection--hide 6500ms linear 1 forwards, collection--fade 500ms ease-in 6500ms 1 forwards;
  }
  .page--overlay .nav__item,
  .page--overlay .collection__toggle {
    animation: collection--hide 7000ms linear 1 forwards, collection--fade 500ms ease-in 7000ms 1 forwards;
  }
}
/* Animation Keyframes */
@keyframes collection--scroll {
  0% {
    transform: translate3d(-1200px, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes collection--glass {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.35;
  }
}
@keyframes collection--glass-in {
  0% {
    opacity: 0.35;
  }
  100% {
    opacity: 1;
  }
}
@keyframes collection--hide {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes collection--fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Sidebar description styles */
.sidebar__header {
  font-size: 38px;
  line-height: 38px;
  color: #6a6a6a;
}
.sidebar__description,
.sidebar__nav {
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.sidebar__description {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
}
.sidebar__nav {
  font-weight: 700;
  font-size: 13px;
}
.sidebar__nav-icon {
  padding-right: 3px;
}
/* Respone to Width */
/* Mobile */
@media (max-width: 680px) {
  .sidebar {
    text-align: center;
  }
  .sidebar__header {
    margin: 20px auto;
    padding: 0 50px;
    max-width: 400px;
  }
  .sidebar__header::after {
    content: '';
    margin: 18px auto 0;
    display: block;
    width: 250px;
    border-bottom: 2px solid #fff;
  }
  .sidebar__description,
  .sidebar__nav {
    margin: 0 100px;
    color: #585858;
  }
  .sidebar__nav {
    margin-bottom: 20px;
  }
}
@media (max-width: 480px) {
  .sidebar__header {
    padding: 0 20px;
  }
  .sidebar__description,
  .sidebar__nav {
    margin: 0 40px;
  }
}
/* Tablet, Desktop */
@media (min-width: 681px) {
  .sidebar {
    margin: 70px 40px 70px 60px;
    width: 286px;
  }
  .sidebar__description {
    border-top: 3px solid #fff;
    padding-top: 35px;
    margin-top: 35px;
    margin-bottom: 24px;
  }
  .sidebar__nav {
    border-bottom: 3px solid #fff;
    padding-bottom: 35px;
    margin-bottom: 35px;
  }
}
/* Respond to Height */
@media (min-width: 681px) and (max-height: 700px) {
  .sidebar__description {
    padding-top: 20px;
    margin-top: 20px;
    margin-bottom: 24px;
  }
  .sidebar__nav {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
@media (min-width: 681px) and (max-height: 545px) {
  .sidebar__description {
    padding-top: 12px;
    margin-top: 12px;
    margin-bottom: 12px;
  }
  .sidebar__nav {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }
}
/* Fade in, fade out timeline */
.collection {
  opacity: 1;
  visibility: visible;
  transition: opacity 300ms ease-in-out;
}
.main--timeline-is-visible .collection {
  opacity: 0;
  visibility: hidden;
}
.timeline {
  opacity: 0;
  visibility: hidden;
  display: none;
  box-sizing: border-box;
  transition: opacity 300ms ease-in-out;
}
.timeline.timeline--is-visible {
  opacity: 1;
  visibility: visible;
  display: unset;
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
}
/* Bottom Control Section */
.timeline__controls {
  overflow: hidden;
  box-sizing: border-box;
  position: absolute;
  top: 15px;
  right: 0;
  bottom: 0;
  width: 70px;
  left: auto;
}
@media (min-width: 480px) {
  .timeline__controls {
    right: auto;
    top: auto;
    left: 0;
    bottom: 40px;
    width: 100%;
    padding: 0 45px 50px 45px;
    margin-top: 25px;
  }
}
@media (orientation: landscape) {
  .timeline__controls {
    right: auto;
    top: auto;
    left: 0;
    bottom: 40px;
    width: 100%;
    padding: 0 45px 30px 45px;
    margin-top: 35px;
    position: relative;
  }
}
@media (min-width: 769px) {
  .timeline__controls {
    position: relative;
    bottom: auto;
    left: auto;
  }
}
@media (min-height: 800px) and (min-width: 480px) {
  .timeline__controls {
    margin-top: 35px;
  }
}
.timeline__slider__container {
  cursor: pointer;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: absolute;
  top: 50%;
  height: 70px;
/**
   * Instead of relying on partial browser support for a vertical slider,
   * rotate the slider using transforms. The width is set via JavaScript so
   * that the slider expands to fill the appropriate amount of space.
   */
  transform: translateX(-50%) translateX(35px) rotate(90deg) translateZ(0);
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__slider__container {
    padding: 0 0 60px 0;
    position: relative;
    top: auto;
    width: 100%;
    transform: none;
    height: 20px;
    box-sizing: content-box;
    overflow-x: hidden;
  }
}
.timeline__slider {
  background-color: transparent;
  cursor: pointer;
  margin: auto -20px;
  padding-top: 0;
  height: 20px;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__slider {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    width: 100%;
  }
}
.timeline__slider:focus,
.timeline__slider:active {
  outline: none;
}
.timeline__axis {
  position: absolute;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  top: 0px;
  right: 0;
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  width: 70px;
  margin-top: 0;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  padding: 15px 0;
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__axis {
    position: relative;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: start;
        align-items: flex-start;
    width: auto;
    margin-top: -55px;
    bottom: auto;
    top: auto;
    right: auto;
    padding: 0;
  }
}
.main--timeline-is-visible ~ .footer {
  display: none;
}
@media (min-width: 480px) {
  .main--timeline-is-visible ~ .footer {
    display: block;
  }
}
@media (orientation: landscape) {
  .main--timeline-is-visible ~ .footer {
    display: none;
  }
}
@media (orientation: landscape) and (min-height: 480px) {
  .main--timeline-is-visible ~ .footer {
    display: block;
  }
}
.collection_main.main--timeline-is-visible {
  overflow: hidden;
}
@media (min-width: 480px) {
  .collection_main.main--timeline-is-visible {
    position: inherit;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
  }
}
.timeline__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  -ms-flex-direction: column;
      flex-direction: column;
  position: absolute;
  top: 25px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
}
.timeline__container::-webkit-scrollbar {
  display: none;
}
@media (min-width: 480px), (orientation: landscape) and (min-height: 480px) {
  .timeline__container {
    -ms-flex-direction: row;
        flex-direction: row;
    position: relative;
    overflow: hidden;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    padding-bottom: 35px;
    overflow-x: scroll;
    margin-top: 0;
  }
}
@media (orientation: landscape) {
  .timeline__container {
    -webkit-overflow-scrolling: touch;
    -ms-flex-direction: row;
        flex-direction: row;
    position: relative;
    overflow: hidden;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    padding-bottom: 35px;
    overflow-x: scroll;
    margin-top: 25px;
  }
}
.timeline__photos {
  transition: transform 275ms ease;
  margin-left: 0;
  padding-bottom: 15px;
  padding-left: 14.5px;
  padding-right: 70px;
/**
   * Important: This relative positioning is critical in order to calculate
   * relative offset values in the timeline.js file.
   */
  position: relative;
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__photos {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-preferred-size: initial;
        flex-basis: initial;
    -ms-flex-align: center;
        align-items: center;
    margin-left: 45px;
    -ms-flex-direction: row;
        flex-direction: row;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
}
.timeline__link {
  display: block;
  transition: box-shadow 1ms 100ms ease-out;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.timeline__link:hover ~ .card,
.timeline__link:focus ~ .card {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translateX($card-hover-offset);
}
@media (min-height: 480px) and (min-width: 480px) {
  .timeline__link:hover,
  .timeline__link:focus {
    box-shadow: 0 0 0 10px #e90606;
  }
}
.timeline__item {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 8px;
  position: relative;
/* This must occur to avoid flickering, since the card isn't within the link on the timeline. */
}
.timeline__item .card__arrow {
  pointer-events: none;
}
@media (min-width: 480px) {
  .timeline__item {
    padding-bottom: 0;
    margin-right: 20px;
    width: auto;
  }
}
@media (orientation: landscape) {
  .timeline__item {
    padding-bottom: 8px;
  }
}
@media (orientation: landscape) and (min-height: 480px) {
  .timeline__item {
    padding-bottom: 0;
    margin-right: 20px;
    width: auto;
  }
}
.timeline__photo {
  background-size: cover;
  background-repeat: no-repeat;
}
.timeline__tick {
  position: relative;
  min-height: 10%;
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__tick {
    min-height: auto;
    min-width: 10%;
  }
  .timeline__tick:last-child {
    min-width: 0;
  }
}
.timeline .card {
  text-decoration: none;
}
@media (max-width: 767px) {
  .timeline .card {
    display: none;
  }
}
@media (max-height: 479px) {
  .timeline .card {
    display: none;
  }
}
.timeline__card__video-meta {
  color: #858585;
  position: relative;
}
.timeline__card__video-length {
  position: absolute;
  left: 30px;
  top: 10px;
}
.timeline__card-icon {
  font-size: 29px;
  margin-top: 3px;
  margin-left: -3px;
  display: inline-block;
}
.timeline__tick-large {
  background-color: #bbb;
  position: relative;
  width: 15px;
  height: 2px;
}
.timeline__tick:first-child .timeline__tick-large,
.timeline__tick:last-child .timeline__tick-large {
  width: 100%;
  text-align: center;
  background-color: transparent;
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__tick-large {
    background-color: #d4d4d4;
    width: 2px;
    height: 15px;
    margin-top: 5px;
  }
  .timeline__tick:first-child .timeline__tick-large,
  .timeline__tick:last-child .timeline__tick-large {
    width: 2px;
    background-color: #d4d4d4;
  }
}
.timeline__tick-small {
  width: 6px;
  height: 2px;
  background-color: #bbb;
  position: absolute;
  top: 50%;
  left: calc(50% - 3px);
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__tick-small {
    margin-top: 5px;
    width: 2px;
    height: 6px;
    top: 0;
    left: 50%;
    background-color: #d4d4d4;
  }
}
.timeline__year {
  font-size: 15px;
}
@media (min-width: 480px) {
  .timeline__year {
    position: absolute;
    font-size: 20px;
    margin-top: 10px;
  }
}
@media (orientation: landscape) and (max-height: 479px) {
  .timeline__year {
    font-size: 15px;
    position: absolute;
    margin-top: 5px;
  }
}
@media (min-height: 480px) and (min-width: 480px) {
  .timeline__year {
    margin-left: 10px;
  }
}
.timeline__scale-year {
  display: block;
  transform: translateY(-50%);
  color: #808080;
  font-size: 11px;
/**
   * Show only the first and last ticks on small screens.
   */
}
.timeline__tick:not(:first-child):not(:last-child) .timeline__scale-year {
  display: none;
}
@media (min-width: 480px) {
  .timeline__scale-year {
    font-size: 12px;
    transform: translateX(-50%);
    position: absolute;
    top: 20px;
  }
  .timeline__tick:not(:first-child):not(:last-child):nth-child(2n+1) .timeline__scale-year {
    display: block;
  }
}
@media (min-width: 687px) {
  .timeline__scale-year {
    font-size: 14px;
  }
  .timeline__tick:not(:first-child):not(:last-child):nth-child(2n+2) .timeline__scale-year {
    display: block;
  }
}
.timeline__decade {
  font-size: 32px;
  color: #b8b8b8;
  padding-bottom: 20px;
  padding-top: 20px;
  text-align: center;
}
@media (min-width: 480px) {
  .timeline__decade {
    padding-right: 60px;
    padding-left: 25px;
    text-align: left;
  }
}
.timeline__decade-icon {
  display: none;
}
@media (min-width: 480px), (orientation: landscape) {
  .timeline__decade-icon {
    display: inline-block;
    position: absolute;
  }
}
/**
 * Input range track
 */
.timeline__slider::-webkit-slider-runnable-track {
  height: 2px;
  cursor: pointer;
  border-radius: 0px;
  border: 0;
  background: transparent;
}
@media (min-width: 480px) {
  .timeline__slider::-webkit-slider-runnable-track {
    background: #d4d4d4;
  }
}
.timeline__slider::-moz-range-track {
  height: 2px;
  cursor: pointer;
  border-radius: 0px;
  border: 0;
  background: transparent;
}
@media (min-width: 480px) {
  .timeline__slider::-moz-range-track {
    background: #d4d4d4;
  }
}
.timeline__slider::-ms-track {
  width: 100%;
  height: 20px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
/**
 * Input range thumb
 */
.timeline__slider__thumb {
  height: 60px;
  width: 60px;
  border: 0;
  border-radius: 50%;
  top: 0;
  background: transparent;
  pointer-events: none;
  position: absolute;
  height: 20px;
  width: 20px;
  background: #e90606;
}
.timeline__slider::-webkit-slider-thumb {
  height: 60px;
  width: 60px;
  border: 0;
  border-radius: 50%;
  top: 0;
  background: transparent;
  transform: translateY(calc(-50% + 1px));
  cursor: pointer;
  -webkit-appearance: none;
}
.timeline__slider::-moz-range-thumb {
  height: 60px;
  width: 60px;
  border: 0;
  border-radius: 50%;
  top: 0;
  background: transparent;
  cursor: pointer;
  margin-top: 10px;
}
.timeline__slider::-ms-fill-lower,
.timeline__slider::-ms-fill-upper {
  height: 2px;
  border: 0;
  background: transparent;
}
@media (min-width: 480px) {
  .timeline__slider::-ms-fill-lower,
  .timeline__slider::-ms-fill-upper {
    background: #d4d4d4;
  }
}
.timeline__slider::-ms-thumb {
  height: 60px;
  width: 60px;
  border: 0;
  border-radius: 50%;
  top: 0;
  background: transparent;
  transform: translateY(calc(-50% + 1px));
  cursor: pointer;
}
.timeline__slider::-ms-tooltip {
  display: none;
}
.timeline__slider::-moz-focus-outer,
.timeline__slider:focus::-moz-focus-outer {
  border: 0;
}
/* Animations for non-mobile screens */
@media (min-width: 681px) {
  .page--overlay .logo-overlay {
    display: -ms-flexbox;
    display: flex;
  }
  .logo-overlay {
/* Display the overlay over the entire page */
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
/* Center the logo */
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    display: none;
  }
  .logo-overlay__logo {
    position: relative;
    width: 300px;
    height: 340.1923076923077px;
    text-align: center;
    background-size: 100%;
  }

  .logo-overlay__logo {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 176.9'%3E%3Cg fill='%23010101'%3E%3Cpath d='M2.2 104.2V74.6h3.9c1.4 0 3.3 0 4.8 1.8.9 1.2 1.9 3.1 1.9 7 0 4.9-1.1 8.8-6 8.8H5.3v11.9H2.2zm3.1-14.7h1c2.6 0 3.3-2.1 3.3-6.1 0-2.9-.5-6-3.2-6H5.3v12.1zM23.5 104.2V90h-5.2v14.3h-3.1V74.6h3.1v12.6h5.2V74.6h3.1v29.6h-3.1zM36.2 74.3c4.9 0 6.4 4.3 6.4 14.8 0 9.6-.7 15.5-6.3 15.5-4.6 0-6.3-3.3-6.3-15.1-.1-8.9.6-15.2 6.2-15.2zm-3 15.1c0 2.4 0 7.5.6 9.7.4 1.5 1 2.7 2.5 2.7 1.3 0 2-.8 2.4-2.6.5-2.2.6-7 .6-9.9 0-10.3-1-12-3.1-12-1 0-1.6.5-2 1.2-1 2.2-1 8.1-1 10.9zM47.6 104.2V77.4h-3.7v-2.8h10.6v2.8h-3.8v26.8h-3.1zM61.9 74.3c4.9 0 6.4 4.3 6.4 14.8 0 9.6-.7 15.5-6.3 15.5-4.6 0-6.3-3.3-6.3-15.1 0-8.9.6-15.2 6.2-15.2zm-3 15.1c0 2.4 0 7.5.6 9.7.4 1.5 1 2.7 2.5 2.7 1.3 0 2-.8 2.4-2.6.5-2.2.6-7 .6-9.9 0-10.3-1-12-3.1-12-1 0-1.6.5-2 1.2-1 2.2-1 8.1-1 10.9zM81.7 104.4l-.6-2.5c-.4.8-1.2 2.6-3.9 2.6-5.3 0-6.1-5.8-6.1-14.8 0-10.1 1-15.3 6.4-15.3 2.9 0 4.2 1.7 4.9 3.5.3.7.7 2 .8 3.6l-2.9.5c-.4-3.5-1.1-4.8-2.8-4.8-2 0-2.5 2-2.7 3.2-.4 2.4-.4 7.8-.4 8.7 0 2.1 0 6.7.5 9.2.2 1 .7 3.2 2.8 3.2 2.5 0 2.9-3.2 2.9-6v-3.4h-2.9v-2.8h5.9v15h-1.9zM95.3 104.2l-3.1-13h-2v13h-3.1V74.6h4.3c2.6 0 6.7 0 6.7 8.4 0 5.3-1.4 6.8-2.9 7.6l3.5 13.6h-3.4zm-5.1-15.7h1.5c2.3 0 3.2-1.1 3.2-5.6 0-5.4-1.7-5.4-3.4-5.4h-1.3v11zM109.8 104.2l-1.4-8.7h-4l-1.3 8.7h-2.7l4.6-29.6h3.1l4.8 29.6h-3.1zm-1.7-11.4l-1-7.4c-.5-3.6-.6-4.8-.8-6.8-.1 1.7-.5 4.9-.7 6.8l-1 7.4h3.5zM115.2 104.2V74.6h3.9c1.4 0 3.3 0 4.8 1.8.9 1.2 1.9 3.1 1.9 7 0 4.9-1.1 8.8-6 8.8h-1.4v11.9h-3.2zm3.1-14.7h1c2.6 0 3.3-2.1 3.3-6.1 0-2.9-.5-6-3.2-6h-1.1v12.1zM136.5 104.2V90h-5.2v14.3h-3.1V74.6h3.1v12.6h5.2V74.6h3.1v29.6h-3.1zM144.9 97c0 2.4 1 4.8 3.1 4.8 2.8 0 3.1-3.6 3.1-5.3 0-4-2.1-5.6-3.2-6.3-2.4-1.7-5.4-3.8-5.4-8.8 0-4.2 2.1-7 5.7-7 4.4 0 5.4 4 5.6 6.4l-2.9.5c-.2-1.6-.6-4.1-2.8-4.1-1.4 0-2.4.9-2.4 3.5 0 2.3.9 4.2 2.8 5.5 2.7 2 3.6 2.7 4.7 4.5.5 1 1.3 2.7 1.3 5.2 0 1.5-.3 4.1-1.6 6.2-1.4 2.2-3.8 2.5-4.9 2.5-4.3 0-5.8-3.5-6-7.2l2.9-.4z'/%3E%3Cg%3E%3Cpath d='M7.7 150.8H6v5.5H4.4v-5.5H2.6v-1.4h5.1v1.4zM16.1 156.4h-1.6v-2.8h-2.1v2.8h-1.6v-6.9h1.6v2.7h2.1v-2.7h1.6v6.9zM21.4 150.8v1.4H24v1.3h-2.6v1.5h3.3v1.3h-4.9v-6.9h4.9v1.3h-3.3zM37.2 156.4h-1.1l-1.7-5.6v5.6H33v-6.9h2.5l1.2 4.1 1.3-4.1h2.5v6.9H39v-5.6l-1.8 5.6zM44.7 155.4c-.5-.7-.7-1.6-.7-2.5 0-1.8.9-3.5 3-3.5.9 0 1.6.3 2.2 1.1.5.7.7 1.7.7 2.5s-.2 1.7-.7 2.4c-.5.8-1.3 1.2-2.3 1.2s-1.7-.4-2.2-1.2zm1.2-3.9c-.2.4-.2 1-.2 1.4 0 .9.1 2.2 1.3 2.2.6 0 .9-.3 1-.8.2-.4.2-1 .2-1.5s-.1-1.1-.3-1.6c-.2-.5-.5-.7-1-.7-.6.2-.9.5-1 1zM56.7 151.5c-.2-.6-.6-.8-1.2-.8-.4 0-1 .1-1 .6s.6.6 1 .7c.6.1 1.3.3 1.8.6.6.4.9.9.9 1.6 0 .7-.3 1.3-.9 1.7-.6.4-1.3.6-2 .6-1.3 0-2.5-.6-2.8-1.9l1.5-.3c.2.7.7 1 1.4 1 .5 0 1.1-.2 1.1-.7s-.8-.7-1.2-.8c-1.2-.3-2.4-.6-2.4-2.1 0-.6.3-1.2.7-1.6.5-.4 1.1-.6 1.7-.6 1.2 0 2.2.4 2.6 1.6l-1.2.4zM66.2 150.8h-1.7v5.5h-1.6v-5.5h-1.8v-1.4h5.1v1.4zM76.1 156.4h-1.6v-6.9h1.6v6.9zM85.1 156.4h-1.4l-2.6-4.6v4.6h-1.2v-6.9h1.7l2.3 4.1v-4.1h1.2v6.9zM90.3 150.8v1.6h2.6v1.3h-2.6v2.7h-1.6v-6.9h4.9v1.3h-3.3zM100.9 155v1.4h-4.4v-6.9h1.6v5.5h2.8zM109.3 153.7c0 .8 0 1.5-.6 2.1-.6.6-1.4.7-2.1.7-.7 0-1.6-.1-2.1-.6-.7-.6-.7-1.4-.7-2.2v-4.2h1.8v4.2c0 .3 0 .8.2 1.1.2.4.6.5 1 .5.3 0 .8-.1 1-.4.2-.3.2-.8.2-1.2v-4.2h1.4v4.2zM114.5 150.8v1.4h2.6v1.3h-2.6v1.5h3.3v1.3h-4.9v-6.9h4.9v1.3h-3.3zM126.5 156.4h-1.4l-2.6-4.6v4.6h-1.2v-6.9h1.7l2.3 4.1v-4.1h1.2v6.9zM134.7 150.8H133v5.5h-1.6v-5.5h-1.8v-1.4h5.1v1.4zM139.4 156.4h-1.6v-6.9h1.6v6.9zM148.7 156.4H147l-.4-1.4h-2.2l-.4 1.4h-1.4l2.2-6.9h1.9l2 6.9zm-2.6-2.7l-.7-2.4-.7 2.4h1.4zM156.1 155v1.4h-4.4v-6.9h1.6v5.5h2.8zM13.5 174.4h-1.6v-6.9h1.6v6.9zM21.3 174.4h-1.1l-1.7-5.6v5.6h-1.4v-6.9h2.5l1.2 4.1 1.3-4.1h2.5v6.9H23v-5.6l-1.7 5.6zM34 174.4h-1.7l-.4-1.4h-2.2l-.4 1.4h-1.4l2.2-6.9H32l2 6.9zm-2.5-2.7l-.7-2.4-.7 2.4h1.4zM39.4 172v-1.3h2.8v3.7h-.7l-.2-.8c-.5.6-1.1.9-1.9.9-2 0-2.9-1.7-2.9-3.5 0-1.9.9-3.6 3-3.6 1.5 0 2.5.9 2.7 2.4l-1.5.2c-.1-.7-.4-1.3-1.2-1.3-1.1 0-1.3 1.5-1.3 2.3 0 .9.3 2.2 1.4 2.2.7 0 1.2-.5 1.1-1.2h-1.3zM47.4 168.8v1.4H50v1.3h-2.6v1.5h3.3v1.3h-4.9v-6.9h4.9v1.3h-3.3zM57.6 169.4c-.2-.6-.6-.8-1.2-.8-.4 0-1 .1-1 .6s.6.6 1 .7c.6.1 1.3.3 1.8.6.6.4.9.9.9 1.6 0 .7-.3 1.3-.9 1.7-.6.4-1.3.6-2 .6-1.3 0-2.5-.6-2.8-1.9l1.5-.3c.2.7.7 1 1.4 1 .5 0 1.1-.2 1.1-.7 0-.6-.8-.7-1.2-.8-1.2-.3-2.4-.6-2.4-2.1 0-.6.3-1.2.7-1.6.5-.4 1.1-.6 1.7-.6 1.2 0 2.2.4 2.6 1.6l-1.2.4zM68 173.4c-.5-.7-.7-1.6-.7-2.5 0-1.8.9-3.5 3-3.5.9 0 1.6.3 2.2 1.1.5.7.7 1.7.7 2.5s-.2 1.7-.7 2.4c-.5.8-1.3 1.2-2.3 1.2s-1.6-.4-2.2-1.2zm1.2-3.9c-.2.4-.2 1-.2 1.4 0 .9.1 2.2 1.3 2.2.6 0 .9-.3 1-.8.2-.4.2-1 .2-1.5s-.1-1.1-.3-1.6c-.2-.5-.5-.7-1-.7-.5.2-.8.5-1 1zM78.1 168.8v1.6h2.6v1.3h-2.6v2.7h-1.6v-6.9h4.9v1.3h-3.3zM95.1 174.4h-1.7L93 173h-2.2l-.4 1.4H89l2.2-6.9h1.9l2 6.9zm-2.5-2.7l-.7-2.4-.7 2.4h1.4zM102.5 173v1.4h-4.4v-6.9h1.6v5.5h2.8zM109.9 173v1.4h-4.4v-6.9h1.6v5.5h2.8zM122.6 168.8h-1.7v5.5h-1.6v-5.5h-1.8v-1.4h5.1v1.4zM127.3 174.4h-1.6v-6.9h1.6v6.9zM135.2 174.4h-1.1l-1.7-5.6v5.6H131v-6.9h2.5l1.2 4.1 1.3-4.1h2.5v6.9h-1.6v-5.6l-1.7 5.6zM143.8 168.8v1.4h2.6v1.3h-2.6v1.5h3.3v1.3h-4.9v-6.9h4.9v1.3h-3.3z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }
  .logo-overlay__logo::before,
  .logo-overlay__logo::after {
    content: '';
    display: block;
    position: absolute;
  }
  .logo-overlay__logo::after {
    top: 63.3126059920859%;
    left: 1.474358974359%;
    width: 97.0512820512821%;
    height: 16.3934426229508%;
    background: #e90606;
  }
  .logo-overlay__logo::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .logo-overlay__logo::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 176.9'%3E%3Cg fill='%23010101'%3E%3Cpath d='M2.4 53.7h10.4V22.3L2.8 24V13.6c8.1-3.6 14.9-6.7 20-9.9H31v50h10.1v12.7H2.4V53.7zM68.5 2.5c15.8 0 27.1 12.8 27.1 32.7 0 19.9-11.3 32.7-27.1 32.7-15.7 0-27.1-12.8-27.1-32.7 0-19.9 11.4-32.7 27.1-32.7zm0 52.7c6.3 0 8.6-6.5 8.6-20.2s-2.3-20.3-8.6-20.3-8.7 6.6-8.7 20.3c0 13.7 2.4 20.2 8.7 20.2zM125.9 2.5c15.8 0 27.1 12.8 27.1 32.7 0 19.9-11.3 32.7-27.1 32.7-15.7 0-27.1-12.8-27.1-32.7 0-19.9 11.4-32.7 27.1-32.7zm0 52.7c6.3 0 8.6-6.5 8.6-20.2s-2.3-20.3-8.6-20.3-8.7 6.6-8.7 20.3c0 13.7 2.4 20.2 8.7 20.2z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 100%;
  }
  .logo-overlay {
    animation: collection--logo-overlay 8000ms steps(1, end) 1 forwards;
  }
  .logo-overlay__logo {
    animation: collection--logo-fade 1000ms ease-out 4500ms 1 forwards;
  }
  .logo-overlay__logo::after {
    animation: collection--bar 1800ms ease-out 1 forwards;
  }
@keyframes collection--logo-fade {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
}
@keyframes collection--logo-show {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}
@keyframes collection--bar {
    0% {
      transform: scaleX(0.4);
    }
    100% {
      transform: scaleX(1);
    }
}
@keyframes collection--logo-overlay {
    0% {
      opacity: 1;
    }
    100% {
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
    }
}
}
/* Layout Styles */
.page--error {
  padding: 29px 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
/* Page Styles */
.error {
  padding: 29px 0;
  text-align: center;
}
.error__header {
  height: 340px;
  background: url("http://dujye7n3e5wjl.cloudfront.net/images/404-error.min.svg") no-repeat center;
}
.error__link {
  color: #00009f;
}
.time-logo {
  width: 127px;
  height: 42px;
  margin: 0 auto 43.5px;
  background: url("http://dujye7n3e5wjl.cloudfront.net/images/time-logo.min.svg") no-repeat;
  background-size: contain;
}
.article__citation {
  display: block;
  font-style: italic;
}
.article__citation i {
  font-style: normal;
}
.credits {
  font-size: 13px;
  line-height: 17px;
  text-align: center;
  text-transform: uppercase;
}
.credits__rule {
  text-align: center;
  font-weight: 700;
  border: 0;
  background: transparent;
}
.credits__rule::after {
  content: '\2014';
}
.credits__team-name,
.credits__list {
  margin-top: 17px;
}
.credits__team-name,
.credits__members {
  margin-bottom: 17px;
  font-weight: 700;
}
.page__header {
  color: #6a6a6a;
  font-size: 38px;
  font-weight: 100;
  line-height: 38px;
  text-align: center;
}
.page-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  position: relative;
  border: 2px solid #fff;
}
.page-title__header {
  text-align: center;
  padding: 0 22px;
  font-size: 50px;
  line-height: 50px;
  color: #404040;
}
@media (min-width: 480px) {
  .page-title__header {
    font-size: 60px;
    padding: 0 10px;
  }
}
.page-title__header::after {
  content: '';
  border-bottom: 2px solid #fff;
  display: block;
  max-width: 250px;
  margin: 18px auto 0 auto;
}
@media (min-width: 480px) {
  .page-title__header::after {
    max-width: none;
    margin: 18px 0 0 0;
  }
}
.page-title__tagline {
  margin: 10px 50px 0 50px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 3px;
  text-align: center;
  letter-spacing: 2px;
  line-height: 24px;
  color: #585858;
  text-transform: uppercase;
}
.page--videos {
  padding: 22px 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 600px) {
  .page--videos {
    padding: 29px 0;
  }
}
/**
 * Given a fixed image width and number of columns in a row, find the grid
 * width including the gutter around the images.
 */
.video-grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 0;
  padding: 0 10px;
  box-sizing: border-box;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
}
@media (min-width: 956px) {
  .video-grid {
    -ms-flex: 0 0 669px;
        flex: 0 0 669px;
    padding: 0;
  }
}
@media (min-width: 992px) {
  .video-grid {
    -ms-flex: 0 0 892px;
        flex: 0 0 892px;
  }
}
.video-grid__item {
  width: 50%;
  box-sizing: border-box;
  position: relative;
}
@media (min-width: 600px) {
  .video-grid__item {
    width: 33.333333333333336%;
  }
}
@media (min-width: 956px) {
  .video-grid__item {
    width: auto;
  }
  .video-grid__item:hover .video-grid__link {
    border: 10px solid #e90606;
  }
  .video-grid__item:hover .video-grid__overlay {
    opacity: 1;
  }
}
.video-grid__overlay {
  position: absolute;
  margin: 10px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-pack: center;
      justify-content: center;
  opacity: 0;
  transition: opacity 200ms ease;
}
.video-grid__overlay-icon {
  color: #fff;
  font-size: 124px;
}
.video-grid__overlay-action {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
  width: 100%;
  text-align: center;
}
.video-grid__link {
  transition: border 100ms ease-out;
  border: 10px solid transparent;
  display: block;
/**
   * Show the hover card when this link is focused.
   * The card is a sibling of the link.
   */
}
.video-grid__link:focus ~ .card {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translateX(18px);
}
.video-grid__poster {
  width: 100%;
  background: #9d9d9d;
  box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
  background-repeat: no-repeat;
  background-size: 100%;
/**
   * Intrinsic ratio for the background image.
   * 203x300 ratio. 300/203 * 100 = 147%
   */
  padding-bottom: 147%;
}
@media (min-width: 956px) {
  .video-grid__poster {
    width: 203px;
    height: 300px;
    padding-bottom: 0;
  }
  .video-grid__link:hover .video-grid__poster {
    box-shadow: none;
  }
}
.video-grid__play {
  font-size: 55px;
  position: absolute;
  left: 10px;
  top: -1px;
}
/**
 * Show/hide the card based upon video grid breakpoints.
 */
.video-grid .card {
  display: none;
  width: 335px;
}
@media (min-width: 956px) {
  .video-grid .card {
    display: block;
  }
}
/**
 * Helpers for common card behavior at various widths.
 */
/**
 * Card placement behavior based upon a trigger's index in a grid.
 *
 * These selectors assume:
 *  - At $screen-sm, there is a 3-column grid.
 *  - At $screen-md, there is a 4-column grid.
 */
@media (min-width: 956px) and (max-width: 991px) {
  .video-grid .card__trigger:nth-child(3n) .card {
    left: auto;
    right: 100%;
  }
}
@media (min-width: 956px) and (max-width: 991px) {
  .video-grid .card__trigger:nth-child(3n):hover .card {
    transform: translateX(-18px);
  }
}
@media (min-width: 956px) and (max-width: 991px) {
  .video-grid .card__trigger:nth-child(3n) .card__arrow {
    left: auto;
    right: -27px;
  }
  .video-grid .card__trigger:nth-child(3n) .card__arrow:after {
    border-right: 0;
    border-left: 27px solid rgba(255,255,255,0.96);
  }
  .video-grid .card__trigger:nth-child(3n) .card__arrow:before {
    left: auto;
    right: 13.5px;
  }
}
@media (min-width: 992px) {
  .video-grid .card__trigger:nth-child(4n-1) .card,
  .video-grid .card__trigger:nth-child(4n) .card {
    left: auto;
    right: 100%;
  }
}
@media (min-width: 992px) {
  .video-grid .card__trigger:nth-child(4n-1):hover .card,
  .video-grid .card__trigger:nth-child(4n):hover .card {
    transform: translateX(-18px);
  }
}
@media (min-width: 992px) {
  .video-grid .card__trigger:nth-child(4n-1) .card__arrow,
  .video-grid .card__trigger:nth-child(4n) .card__arrow {
    left: auto;
    right: -27px;
  }
  .video-grid .card__trigger:nth-child(4n-1) .card__arrow:after,
  .video-grid .card__trigger:nth-child(4n) .card__arrow:after {
    border-right: 0;
    border-left: 27px solid rgba(255,255,255,0.96);
  }
  .video-grid .card__trigger:nth-child(4n-1) .card__arrow:before,
  .video-grid .card__trigger:nth-child(4n) .card__arrow:before {
    left: auto;
    right: 13.5px;
  }
}
.hero-video {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
/**
   * Only show an inverted header when the video is showing.
   */
}
@media (min-width: 956px) {
  .hero-video {
    background: #000;
    height: 538px;
  }
}
@media (min-width: 1024px) {
  .hero-video {
    background: #000;
    height: 576px;
  }
}
@media (min-width: 956px) {
  .hero-video .header--videos {
    z-index: 100;
  }
  .hero-video .header--videos .header__logo {
    background-position: 0 -58px;
  }
  .hero-video .header--videos .nav__link {
    color: #fff;
  }
  .hero-video .header--videos .nav__link:active {
    color: #eee;
  }
}
.hero-video__video {
  display: none;
}
@media (min-width: 956px) {
  .hero-video__video {
    display: block;
  }
}
.hero-video__container {
  position: relative;
}
@media (min-width: 956px) {
  .hero-video__container {
    margin-top: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    max-width: 956px;
    left: 50%;
    margin-left: -478px;
  }
}
@media (min-width: 1024px) {
  .hero-video__container {
    max-width: 1024px;
    margin-left: -512px;
  }
}
.hero-video .page-title {
  border: 0;
  width: 100%;
/**
   * On very small screens, text in between <br>s is sometimes wider than the
   * screen, causing the text to break at strange places. Remove them.
   */
/**
   * Up until we start showing the video, the share link should be relatively
   * positioned and centered, despite default share link styles for the page
   * title widget.
   */
/**
   * 675 is used as it's about the width of 'Behind the Photographs'
   */
}
.hero-video .page-title br {
  display: none;
}
.hero-video .page-title .share {
  position: relative;
  margin-top: 20px;
  left: auto;
  transform: none;
}
@media (min-width: 480px) {
  .hero-video .page-title br {
    display: block;
  }
}
.hero-video .page-title .page-title__header::after {
  max-width: 250px;
  margin: 18px auto 0 auto;
}
@media (min-width: 675px) {
  .hero-video .page-title {
    margin: 45px 0 35px 0;
  }
  .hero-video .page-title .page-title__tagline {
    max-width: 615px;
  }
  .hero-video .page-title .page-title__header::after {
    display: none;
  }
  .hero-video .page-title br {
    display: none;
  }
  .hero-video .page-title .share {
    margin-top: 30px;
  }
  .hero-video .page-title .share::after {
    content: '';
    border-bottom: 2px solid #fff;
    display: block;
    max-width: none;
    position: absolute;
    width: 286px;
    left: calc(-143px + 50%);
    top: calc(50% - 2px);
    z-index: -1;
  }
}
@media (min-width: 956px) {
  .hero-video .page-title {
    border: 2px solid #fff;
    width: 380px;
    height: 345px;
    margin: 15px 0 0 22px;
    background-color: rgba(0,0,0,0.5);
    margin-top: 60px;
  }
  .hero-video .page-title .page-title__header {
    color: #fff;
/**
       * Explicitly add back the border under the title as it was removed at
       * smaller widths.
       */
  }
  .hero-video .page-title .page-title__header::after {
    content: '';
    border-bottom: 2px solid #fff;
    display: block;
    margin-top: 18px;
    max-width: none;
  }
  .hero-video .page-title .page-title__tagline {
    max-width: none;
    color: #fff;
  }
  .hero-video .page-title br {
    display: block;
  }
  .hero-video .page-title .share {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, calc(50% + 1.5px));
    color: #fff;
    background: #000;
  }
  .hero-video .page-title .share:hover,
  .hero-video .page-title .share:focus {
    background: #222;
  }
  .hero-video .page-title .share::after {
    display: none;
  }
}
.video-js {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.4s opacity;
}
.vjs-play-progress,
.vjs-volume-level {
  background: #e90606 !important;
}
.vjs-control:hover {
  color: #e90606;
}
.vjs-control::before {
  text-shadow: none !important;
}
.vjs-captions-button {
  display: none !important;
}
.vjs-time-controls:hover {
  color: #fff;
}
.vjs-volume-bar::before {
  box-shadow: none !important;
}
.vjs-big-play-button {
  left: calc(50% - 78px) !important;
  top: calc(50% - 52px) !important;
}
.vjs-big-play-button:hover {
  box-shadow: none !important;
}
.video-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  background: #000;
  overflow: hidden;
}
.inline-video .video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
}
.video-wrapper__end-overlay {
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0 0 0 60px;
  box-sizing: border-box;
  -ms-flex-align: center;
      align-items: center;
  background: rgba(0,0,0,0.75);
  opacity: 0;
  pointer-events: none;
  transition: 0.2s opacity;
  letter-spacing: 0.1em;
}
.video-ended .video-wrapper__end-overlay {
  opacity: 1;
  pointer-events: all;
}
.just-watched {
  position: relative;
  padding: 40px 40px 40px 0;
  box-sizing: border-box;
  border-right: solid 1px rgba(255,255,255,0.25);
  margin-right: 40px;
}
.up-next {
  position: relative;
  width: calc(100% - 297px);
  padding: 40px 0;
  box-sizing: border-box;
}
.just-watched__heading,
.up-next__heading {
  color: #fff;
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
}
.just-watched__poster,
.up-next__poster {
  width: 216px;
  height: 320px;
  background-size: cover;
  position: relative;
}
.up-next__link {
  display: block;
  position: relative;
}
.video__runtime {
  float: right;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.up-next > ul {
  display: -ms-flexbox;
  display: flex;
  overflow-y: scroll;
}
.up-next > ul::-webkit-scrollbar {
  display: none;
}
.up-next > ul > li {
  margin-right: 20px;
}
.up-next > ul > li:not(:first-of-type) {
  margin-top: 39px;
}
.replay {
  width: 70px;
  height: 70px;
  line-height: 82px;
  font-size: 54px;
  text-align: center;
  border-radius: 50%;
  text-indent: 2px;
  color: #fff;
  background: rgba(0,0,0,0.75);
  border: 6px solid #fff;
}
/* Holder for entire play button */
.play,
.replay {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -35px;
  margin-top: -35px;
}
/* Internal icon */
.play__icon {
  display: block;
  width: 70px;
  height: 70px;
  line-height: 80px;
  font-size: 55px;
  text-align: center;
  text-indent: 5px;
  border-radius: 50%;
  color: #fff;
/* Do a mask for the background */
  background: rgba(0,0,0,0.75);
}
/* Shared border styles */
.play__half-progress--first,
.play__half-progress--first::before,
.play__half-progress--second,
.play__half-progress--second::before {
  border-top-right-radius: 100% 50%;
  border-bottom-right-radius: 100% 50%;
}
/* General settings for the halves */
.play__half-progress--first,
.play__half-progress--second {
  position: absolute;
  top: -6px;
  width: calc(50% + 6px);
  height: calc(100% + 12px);
  overflow: hidden;
}
.play__half-progress--first {
  right: -6px;
}
.play__half-progress--second {
  left: -6px;
/* Rotate the second half through 180 degrees */
  transform: rotate(180deg);
}
/* Styles for the rings */
.play__half-progress--first::before,
.play__half-progress--second::before {
  content: '';
  display: block;
/* Position this over the entire play icon */
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 6px solid #e90606;
  transform: rotate(-180deg);
  border-left-width: 0; /* Just show the ring around the side */
  transform-origin: 0 50%; /* The center of the icon */
}
.video-ended .play__half-progress--first::before {
  animation: rotate180 5s linear forwards; /* Animate the icon; remove infinite */
}
.video-ended .play__half-progress--second::before {
  animation: rotate180 5s linear 5s forwards;
}
@keyframes rotate180 {
  0% {
    transform: rotate(-180deg);
  }
  100% {
    transform: rotate(0);
  }
}
