
:root {
  --color-news-red: #c70000;
  --color-feature-red: #880105;
  --color-inverted-red: #ff4e36;
  --color-live-pink: #ffbac8;
  --color-live-red: #ad0006;
  --color-opinion-orange: #e05e00;
  --color-feature-orange: #bd5318;
  --color-inverted-orange: #ff7f0f;
  --color-background-orange: #fef9f5;
  --color-sport-blue: #0084c6;
  --color-feature-blue: #005689;
  --color-inverted-blue: #00b2ff;
  --color-live-blue: #90dcff;
  --color-culture-gold: #a1845c;
  --color-feature-gold: #6b5840;
  --color-inverted-gold: #eacca0;
  --color-live-gold: #e7d4b9;
  --color-lifestyle-pink: #bb3b80;
  --color-feature-pink: #7d0068;
  --color-inverted-pink: #ffabdb;
  --color-live-pink: #ffbac8;
  --color-gray-7: #121212;
  --color-gray-20: #333333;
  --color-gray-46: #767676;
  --color-gray-60: #999999;
  --color-gray-86: #dcdcdc;
  --color-gray-92: #eaeaea;
  --color-gray-96: #f6f6f6;
  --color-gray-100: #ffffff;

  --font-family-sans: "Guardian Text Sans Web", Helvetica, Arial, sans-serif;
  --font-family-serif: GuardianTextEgyptian, Guardian Text Egyptian Web, Georgia,serif;
  --font-family-headline: GH Guardian Headline, Guardian Egyptian Web, Georgia,serif;
  --font-size-12: 0.75rem; /* 12px */
  --font-size-13: 0.8125rem; /* 13px */
  --font-size-14: 0.875rem; /* 14px */
  --font-size-15: 0.9375em; /* 15px */
  --font-size-16: 1rem; /* 16px */
  --font-size-17: 1.0625rem; /* 17px */
  --font-size-20: 1.25rem; /* 20px */
  --font-size-32: 2rem; /* 32px */
}

/********************************************************
Base styles and typography
********************************************************/
html,
body {
  color: var(--color-gray-7);
  background-color: var(--color-gray-100);
  font-feature-settings: 'kern';
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
  font-size: var(--font-size-16);
  font-family: var(--font-family-serif);
  margin: 0;
  padding: 0;
  height: auto;
  width: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.body-with-rules {
  padding-top: 7px;
  border-top: 1px solid var(--color-gray-86);
}

.headline {
  font-family: var(--font-family-headline);
  font-size: var(--font-size-20);
  line-height: 1.25;
  font-weight: 500;
  margin-bottom: 15px;
}

.standfirst {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-14);
  line-height: 1.35;
  margin-bottom: 10px;
}

.subhead {
  font-size: var(--font-size-14);
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 8px;
}

.source {
  color: var(--color-gray-60);
  font-size: var(--font-size-12);
  font-family: var(--font-family-sans);
  line-height: 1.2;
  padding-top: 10px;
}

/********************************************************
Project specific styles
********************************************************/
.video-container {
  position: relative;
  max-width: 860px;
  left: -10%;
  width: 110%;
  overflow: hidden;
  user-select: none;

  @media(min-width: 500px) {
    left: unset;
    width: 100%;
  }
}

video {
  aspect-ratio: 0.9;
  object-fit: cover;
  width: 100%;

  @media(min-width: 500px) {
    aspect-ratio: unset;
    object-fit: unset;
  }
}

.anno {
  position: absolute;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 2;

  @media(min-width: 500px) {
    font-size: var(--font-size-16);
  }
}

.anno-text {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(10px);
  color: var(--color-gray-92);
  display: inline-block;
  font-family: var(--font-family-sans);
  font-size: var(--font-size-14);
  line-height: 1.15;
  padding: 6px 10px;
}

.anno span {
  color: #fff;
  font-weight: bold;
}

.anno.active {
  opacity: 1;
}

.anno.unprepared {
  text-align: left;
  top: 5%;
  left: 13%;

  @media(min-width: 500px) {
    top: 10%;
    left: 25%;
  }
}

.anno.prepared {
  text-align: right;
  bottom: 12%;
  right: 3%;

  @media(min-width: 500px) {
    right: 8%;
  }
}

.anno.time {
  text-align: left;
  top: 5%;
  left: 13%;

  @media(min-width: 500px) {
    top: 10%;
    left: 25%;
  }
}

.arrow {
  position: absolute;
}

.arrow.unprepared {
  height: 54px;
  width: 40px;
  top: 100%;
  left: 40%;
}

.arrow.prepared {
  width: 13px;
  height: 57px;
  top: calc(-100% - 30px);
  right: 36%;
}
