
: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: 10px;
  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: 20px;
  text-align: center;
}

.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;
}

p {
  line-height: 1.4;
}

/********************************************************
Project specific styles
********************************************************/

.section {
  display: grid;
  margin: 30px auto 20px auto;
  max-width: 620px;
}

.section-number {
  display: inline-block;
  background: var(--color-gray-7);
  font-family: var(--font-family-sans);
  color: white;
  border-radius: 100%;
  font-weight: bold;
  height: 30px;
  width: 30px;
  line-height: 31px;
  text-align: center;
  vertical-align: middle;
  margin: 0 auto;
}

.text-box {
  margin: 5px auto 10px auto;
  width: 90%;
  max-width: 420px;
}

.graphic-container {
  display: flex;
  margin: 0 auto;
}

.graphic-container.product {
  max-width: 300px;
  width: 100%;
}

.item-container {
  font-family: var(--font-family-sans);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 50%;
}

.company {
  font-weight: bold;
  margin-bottom: 2px;
}

.price {
  display: inline-block;
  padding: 5px 10px 3px 10px;
  border-radius: 2px;
}

.high {
  background-color: #d4edff;
}

.low {
  background-color: #ffe2cd;
}

.none {
  background-color: var(--color-gray-92);
}

.inline {
  padding: 0px 7px 1px 7px;
}

.arrow-up {
  display: inline-block;
  margin-right: 4px;
  transform: translateY(1px);
  width: 11px;
}

.arrow-down {
  display: inline-block;
  margin-right: 4px;
  transform: rotate(180deg) translateY(-2px);
  width: 11px;
}

.item-container .ice-cream-image {
  margin-top: 10px;
  max-width: 100px;
}

.graphic-container.email {
  border: 1px solid var(--color-gray-86);
  border-radius: 6px;
  background-color: var(--color-gray-96);
  font-family: monospace;
  flex-direction: column;
  font-size: 13px;
  max-width: 500px;
}

.email-top {
  padding: 10px;
}

.email-bottom {
  border-top: 1px solid var(--color-gray-86);
  padding: 10px;
}

.email-bottom p {
  margin-bottom: 10px;
}

.email-bottom p:last-child {
  margin-bottom: 0;
}

.highlight {
  background-color: #fff7c7;
  font-weight: bold;
}

.hidden {
  background-color: var(--color-gray-86);
  display: inline-block;
  vertical-align: middle;
  height: 15px;
  width: 55px;
}