@font-face {
  font-family: 'CNN Sans';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/CNNSans/CNNSans-Normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Open Sans';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/OpenSans/OpenSans-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'Open Sans';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/OpenSans/OpenSans-Normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Vidaloka';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/Vidaloka/Vidaloka-Normal.woff2') format('woff2');
}
/* http://meyerweb.com/eric/tools/css/reset/
   v4.0 | 20180602
   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,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}
/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
    display: none;
}
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;
}
.cnn-sponsorcontent-header {
  font-family: 'CNN Sans', 'Helvetica Neue', 'Helvetica', sans-serif;
  z-index: 300;
  position: relative;
}
.cnn-sponsorcontent-header nav {
  background: #0c0c0c;
  color: #737373;
}
.cnn-sponsorcontent-header ul {
  margin: 0 auto;
  max-width: 1145px;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.cnn-sponsorcontent-header nav a {
  text-decoration: none;
  display: block;
  color: inherit;
}
.cnn-sponsorcontent-header nav a:visited {
  color: inherit;
}
.cnn-sponsorcontent-header img {
  display: block;
  height: 60px;
}
.cnn-sponsorcontent-header a:nth-of-type(2)::before {
  content: '<';
}
.cnn-sponsorcontent-header li:nth-of-type(2) a {
  margin-left: 1.5em;
  padding-top: 0.5em;
}
.cnn-sponsorcontent-header > h1 {
  font-family: "CNN Sans", "Helvetica Neue", "Helvetica", sans-serif;
  background-color: #af8d43;
  color: white;
  font-size: 1rem;
  line-height: 1;
  font-weight: normal;
  margin: 0 auto;
  padding: 0.625em 1.25em;
  text-align: center;
  text-transform: uppercase;
}
#sets {
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.stage {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: grid;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-content: center;
          align-content: center;
}
.stage:not(.active) {
  visibility: hidden;
  z-index: -1;
}
.stage.active {
  visibility: visible;
  z-index: 1;
}
.stage h1 {
  font-size: 500%;
}
.stage > video,
.stage > figure {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.stage > figure > picture {
  z-index: 1;
}
.stage > figure > figcaption {
  position: absolute;
  z-index: 2;
  top: auto;
  bottom: 0.5em;
  color: white;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5)
}
@media (max-width: 767px) {
.stage > figure > figcaption {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center
}
  }
@media (min-width: 768px) {
.stage > figure > figcaption {
    right: 0.5em;
    text-align: right
}
  }
.stage > video,
.stage > figure > picture > img {
  object-fit: cover;
  object-position: center top;
}
.stage >figure > picture > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.stage .quote {
  position: absolute;
  left: 50%;
  top: calc(50% + 30px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  pointer-events: none
}
@media (max-width: 767px), (min-width: 768px) and (max-height: 567px) {
.stage .quote {
    width: calc(100% - 2 * 10px);
    max-width: 530px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
.stage .quote {
    width: 80%;
    max-width: 1000px
}
  }
.stage .quote h1 {
  font-family: "Vidaloka",serif;
  font-weight: normal
}
@media (max-width: 767px), (min-width: 768px) and (max-height: 567px) {
.stage .quote h1 {
    font-size: 20px;
    line-height: 26px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
.stage .quote h1 {
    font-size: 36px;
    line-height: 46px
}
  }
.stage .quote p {
  font-family: "Vidaloka",serif;
  font-weight: normal;
  white-space: nowrap;
  text-transform: uppercase
}
@media (max-width: 767px), (min-width: 768px) and (max-height: 567px) {
.stage .quote p {
    font-size: 16px;
    line-height: 22px;
    margin-top: 8px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
.stage .quote p {
    font-size: 28px;
    line-height: 38px;
    margin-top: 37px
}
  }
.stage .quote aside {
  margin-top: var(--margin-top);
  font-size: 12px;
  line-height: 17px;
  text-transform: uppercase;
  letter-spacing: 0.0625em;
  font-family: "Open Sans",sans-serif;
  font-weight: 700
}
@media (max-width: 767px), (min-width: 768px) and (max-height: 567px) {
.stage .quote aside {
    margin-top: 50px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
.stage .quote aside {
    margin-top: 100px
}
  }
section.intro {
  height: calc(100vh - 96px);
  min-height: calc(100vh - 96px)
}
section.intro.glass {
    pointer-events: auto;
  }
section.intro .brand-logo {
  position: absolute
}
@media (max-width: 767px), (min-width: 768px) and (max-height: 567px) {
section.intro .brand-logo {
    width: 79px;
    height: 30px;
    right: 20px;
    top: 15px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
section.intro .brand-logo {
    width: 131px;
    height: 50px;
    right: 30px;
    top: 20px
}
  }
section.intro .brand-logo img {
  object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
}
section.intro header {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: white;
  text-align: center
}
@media (max-width: 767px) {
section.intro header {
    width: calc(100% - 2 * 10px);
    max-width: 680px
}
  }
@media (min-width: 768px) and (max-height: 567px) {
section.intro header {
    width: calc(100% - 2 * 10px);
    max-width: 680px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
section.intro header {
    width: 680px
}
  }
section.intro header h1 {
  font-family: "Vidaloka",serif
}
@media (max-width: 767px) and (max-height: 567px), (min-width: 768px) and (max-height: 567px) {
section.intro header h1 {
    font-size: 30px;
    line-height: 1.2
}
  }
@media (max-width: 767px) and (min-height: 568px) {
section.intro header h1 {
    font-size: calc(100vw * (15/224) + 1px * (60/7));
    line-height: 1.2
}
  }
@media (min-width: 768px) and (min-height: 568px) {
section.intro header h1 {
    font-size: 60px;
    line-height: 72px
}
  }
section.intro header p {
  font-family: "Open Sans",sans-serif;
  margin-top: 5px
}
@media (max-width: 767px) and (max-height: 567px), (min-width: 768px) and (max-height: 567px) {
section.intro header p {
    font-size: 12px;
    line-height: 16px
}
  }
@media (max-width: 767px) and (min-height: 568px) {
section.intro header p {
    font-size: calc(100vw * (3/224) + 1px * (54/7));
    line-height: 1.333
}
  }
@media (min-width: 768px) and (min-height: 568px) {
section.intro header p {
    font-size: 18px;
    line-height: 24px
}
  }
@media (max-width: 767px) {
section.intro header p {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto
}
  }
@media (min-width: 768px) {
section.intro header p {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto
}
  }
@media (min-width: 768px) and (max-height: 567px) {
section.intro header p {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto
}
  }
section.intro .cta {
  position: absolute;
  left: 50%;
  bottom: 20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: white;
  font-family: "Open Sans",sans-serif;
  font-weight: 700;
  pointer-events: none;
  white-space: nowrap;
  line-height: 1;
  text-transform: uppercase
}
@media (max-width: 767px) {
section.intro .cta {
    font-size: 10px;
    letter-spacing: 0.05em
}
  }
@media (min-width: 768px) {
section.intro .cta {
    letter-spacing: 0.0625em;
    font-size: 12px
}
  }
article {
  position: relative;
  z-index: 200;
  pointer-events: none;
}
section {
  min-height: 100vh;
  pointer-events: auto;
  position: relative;
  background-color: white
}
@media (max-width: 767px) {
section {
    --section-vertical-spacing: 60px
}
  }
@media (min-width: 768px) {
section {
    --section-vertical-spacing: 120px
}
  }
.glass {
  pointer-events: none;
  background-color: transparent;
  min-height: 150vh;
}
figure {
  position: relative;
  display: block;
}
figure img {
  display: block;
  width: 100%;
}
figure figcaption {
  min-width: 300px;
  max-width: 80%;
  font-family: "Open Sans",sans-serif;
  line-height: 1.4;
  letter-spacing: normal
}
@media (max-width: 767px) {
figure figcaption {
    font-size: 11px;
    margin-top: 8px;
    margin-left: auto;
    margin-right: auto;
    text-align: center
}
  }
@media (min-width: 768px) {
figure figcaption {
    font-size: 12px;
    position: absolute;
    top: calc(100% + 0.5em);
    text-align: right;
    padding-right: 0.5em;
    right: 0
}
  }
.padded-image {
  position: relative
}
@media (max-width: 767px) {
.padded-image {
    width: 100%
}
  }
@media (min-width: 768px) {
.padded-image {
    width: 80%;
    margin-left: auto;
    margin-right: auto
}
  }
.padded-image:first-child {
    padding-top: 40px;
    padding-top: var(--section-vertical-spacing, 40px);
  }
.padded-image:last-child {
    padding-bottom: 40px;
    padding-bottom: var(--section-vertical-spacing, 40px);
  }
@media (min-width: 768px) {
.padded-image figcaption {
      top: calc(100% + 0.5em)
  }
    }
@media (min-width: 768px) {
.padded-image:last-child figcaption {
      top: calc(100% - var(--section-vertical-spacing) + 0.5em)
  }
    }
.full-bleed-image {
  width: 100%;
}
.scrolling-video {
  max-height: 100vh;
  overflow: hidden;
  height: 56.25vw
}
@media (max-width: 767px) and (orientation: landscape) {
.scrolling-video {
    height: 56.25vw
}
  }
@media (min-width: 768px) and (orientation: landscape) {
.scrolling-video {
    height: calc(56.25vw * 0.8)
}
  }
@media (max-width: 767px) and (orientation: portrait) {
.scrolling-video {
    height: 177.78vw
}
  }
@media (min-width: 768px) and (orientation: portrait) {
.scrolling-video {
    height: calc(177.78vw * 0.8)
}
  }
@media (max-width: 767px) {
.scrolling-video {
    width: 100%
}
  }
@media (min-width: 768px) {
.scrolling-video {
    width: 80%;
    margin-left: auto;
    margin-right: auto
}
  }
.scrolling-video:last-child {
    margin-bottom: var(--section-vertical-spacing);
  }
.scrolling-video video {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
}
.scrolling {
  font-family: "Open Sans",sans-serif;
  letter-spacing: 0.06em
}
@media (max-width: 767px) {
.scrolling {
    font-size: 14px;
    line-height: 28px
}
  }
@media (min-width: 768px) {
.scrolling {
    font-size: 18px;
    line-height: 38px
}
  }
.scrolling > *:not(p):not(ul) {
  margin-bottom: var(--section-vertical-spacing)
}
.scrolling > *:not(p):not(ul):last-child {
    margin-bottom: 0;
  }
.scrolling > p,
.scrolling > ul {
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
.scrolling > p {
    width: calc(100% - 2 * 20px);
    max-width: 680px
}
  }
@media (min-width: 768px) {
.scrolling > p {
    width: 680px
}
  }
.scrolling > p ~ p {
  margin-top: 1em;
}
.scrolling > p + p.new-topic {
  margin-top: var(--section-vertical-spacing);
}
.scrolling > p + :not(p):not(ul) {
  margin-top: var(--section-vertical-spacing);
}
.scrolling > p:last-child {
  padding-bottom: var(--section-vertical-spacing);
}
.scrolling > ul {
  margin-top: 1em;
  margin-bottom: 1em;
  list-style: disc outside;
  padding-left: 1.5em
}
@media (max-width: 767px) {
.scrolling > ul {
    width: calc(100% - 2 * 10px);
    max-width: 620px
}
  }
@media (min-width: 768px) {
.scrolling > ul {
    width: 620px
}
  }
.scrolling > ul > li + li {
  margin-top: 1em;
}
.grouped-images {
  display: -webkit-flex;
  display: flex
}
@media (max-width: 767px) {
.grouped-images {
    margin-top: 60px;
    margin-bottom: 60px;
    -webkit-flex-direction: column;
            flex-direction: column;
    width: 100%
}
  }
@media (min-width: 768px) {
.grouped-images {
    -webkit-flex-direction: row;
            flex-direction: row;
    width: 80%;
    margin-left: auto;
    margin-right: auto
}
  }
.grouped-images > figure {
  -webkit-flex-grow: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
          flex-shrink: 0
}
@media (max-width: 767px) {
.grouped-images > figure {
    -webkit-flex-basis: 100%;
            flex-basis: 100%
}
  }
@media (min-width: 768px) {
.grouped-images > figure {
    -webkit-flex-basis: 50%;
            flex-basis: 50%
}
  }
@media (max-width: 767px) {
.grouped-images > figure + figure {
    margin-top: 40px
}
  }
.portrait {
  display: -webkit-flex;
  display: flex
}
@media (max-width: 767px) {
.portrait {
    -webkit-flex-direction: column;
            flex-direction: column
}
  }
@media (min-width: 768px) {
.portrait {
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center
}
  }
@media (max-width: 767px) {
.portrait > * {
    -webkit-flex-basis: 100%;
            flex-basis: 100%
}
  }
@media (min-width: 768px) {
.portrait > * {
    -webkit-flex-basis: 50%;
            flex-basis: 50%
}
  }
@media (max-width: 767px) {
.portrait > figure {
    -webkit-order: 1;
            order: 1
}
  }
@media (min-width: 768px) {
.portrait.flipped > figure {
    -webkit-order: 2;
            order: 2
}
  }
@media (min-width: 768px) {
.portrait > figure > figcaption {
    top: auto;
    bottom: 1em
}
  }
@media (min-width: 768px) {
.portrait:not(.flipped) > figure > figcaption {
    left: calc(100% + 1em);
    text-align: left
}
  }
@media (min-width: 768px) {
.portrait.flipped > figure > figcaption {
    right: calc(100% + 1em);
    text-align: right
}
  }
@media (min-width: 768px) {
.portrait > aside + figure > figcaption {
    left: auto;
    right: calc(100% + 1em);
    text-align: right
}
  }
.portrait img {
  width: 100%;
}
.portrait > aside {
  padding-left: 10px;
  padding-right: 10px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center
}
@media (max-width: 767px) {
.portrait > aside {
    -webkit-order: 2;
            order: 2;
    margin-top: 40px;
    margin-bottom: var(--section-vertical-spacing)
}
  }
.portrait > aside > p ~ p {
  margin-top: var(--section-vertical-spacing);
}
.portrait p {
  min-width: 300px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
section > iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  height: 100%;
  position: relative;
}
main {
  min-height: 100vh;
}
.sound-button {
  border: none;
  background: none;
  border-radius: 0;
  position: absolute;
  cursor: pointer;
  pointer-events: none;
  padding: 0
}
.sound-button:focus {
    outline: none;
  }
@media (max-width: 767px), (min-width: 768px) and (max-height: 567px) {
.sound-button {
    left: 20px;
    top: 20px;
    height: 20px
}
  }
@media (min-width: 768px) and (min-height: 568px) {
.sound-button {
    left: 30px;
    top: 30px;
    height: 30px
}
  }
.sound-button {
  opacity: 0.5;
}
.sound-button img {
  display: block;
  height: 100%;
  width: auto;
}
.sound-button.muted::after {
  content: 'Muted';
  color: white;
  font-family: 'Open Sans';
  font-weight: normal;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 11px;
  letter-spacing: 0.083em;
  position: absolute;
  white-space: nowrap;
  left: calc(100% + 1em);
  bottom: 0;
}
