:root {
  --neutral-darkest: #141517;
  --neutral-darker:  #27282c;
  --neutral-dark:    #393b41;
  --neutral-medium:  #848892;
  --neutral-light:   #ecedef;
  --hot:             #ffa34a;
  --cold:            #65d5e1;
  --failure:         #ff6666;
  --success:         #66cc99;
  --canvas:          #ffffff;
}

@font-face {
  font-family: "Flama";
  src: url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Book-webfont.eot");
  src: url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Book-webfont.eot?#iefix") format("embedded-opentype"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Book-webfont.woff2") format("woff2"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Book-webfont.woff") format("woff"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Book-webfont.ttf") format("truetype"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Book-webfont.svg#flamabook") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Flama";
  src: url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Bold-webfont.eot");
  src: url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Bold-webfont.woff2") format("woff2"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Bold-webfont.woff") format("woff"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Bold-webfont.ttf") format("truetype"), url("https://infograficos.estadao.com.br/assets/fonts/Flama/Flama/Flama-Bold-webfont.svg#flamabold") format("svg");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "OESP";
  src: url("https://infograficos.estadao.com.br/assets/fonts/OESP/OESP-webfont.eot");
  src: url("https://infograficos.estadao.com.br/assets/fonts/OESP/OESP-webfont.eot?#iefix") format("embedded-opentype"), url("https://infograficos.estadao.com.br/assets/fonts/OESP/OESP-webfont.woff2") format("woff2"), url("https://infograficos.estadao.com.br/assets/fonts/OESP/OESP-webfont.woff") format("woff"), url("https://infograficos.estadao.com.br/assets/fonts/OESP/OESP-webfont.ttf") format("truetype"), url("https://infograficos.estadao.com.br/assets/fonts/OESP/OESP-webfont.svg#oesp") format("svg");
  font-weight: normal;
  font-style: normal;
}

.oesp {
  display: inline-block;
  position: relative;
  top: 0.1em;
  font-family: OESP;
  font-size: inherit;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.oesp-estadao:before {
  content: '\f000';
}

.oesp-estadao-symbol:before {
  content: '\f001';
}

.oesp-estadao-logotype:before {
  content: '\f002';
}

.screen-reader {
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  display: flex;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

a:hover {
  opacity: .8;
}

html {
  font-size: 62.5%;
  -webkit-tap-highlight-color: transparent;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing:  antialiased;
}

body {
  background: #27282c;
  color: #ecedef;
  font-family: 'Flama', sans-serif;
  font-size: 1.4rem;
  overflow-x: hidden;
}

/* App */

article,
section,
header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

section:not(.intro) {
  margin-top: 6.856em;
}

.step {
  margin-top: 2.285em;
  /* padding-bottom: 2.285em; */
  margin-bottom: 2.285em;
  /* margin-bottom: 13.712em; */
}

.steps .step:last-of-type {
  border-bottom: none;
}

/* How to */

.how-to .scroll {
  width: 100%;
}

/* Bar */

.bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 4em;
  padding: 0 0.857em;
}

.oesp {
  font-size: 1.8em;
}

.bar .oesp {
  padding: 0 0.2em;
}

.bar a {
  border: none;
}

/* Button */

.button {
  display: flex;
  align-items: center;
  background: #393b41;
  color: #848892;
  text-transform: uppercase;
  letter-spacing: .05em;
  height: 2.28em;
  padding: 0 1.14em;
  border-radius: 999em;
}

/* Headings */

.heading {
  text-align: center;
  text-transform: uppercase !important;
  font-weight: bold;
  font-size: 1.142em;
  line-height: 1.2;
  max-width: 32em;
  padding: 0 1em;
  color: #ecedef;
}

.heading span {
  display: block;
  text-align: center;
  color: #848892;
}

.step h4 {
  margin-top: 1.714em;
  padding: 0 1.714em;
  text-transform: uppercase;
}

.tagline {
  font-weight: bold;
  color: #ecedef;
  opacity: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
}

/* Texts */

p {
  /* max-width: 32em; */
  max-width: calc( 500px + 1.714em + 1.714em ); /* tweet */
  padding: 0 1.714em;
  margin: 1.142em 0;
  color: #848892;
  font-size: 1.6rem;
}

p:first-child {
  margin-top: 0;
}

p.meta {
  display: flex;
  flex-direction: column;
  text-align: center;
}

p.meta .main-authors {
  /* font-style: italic; */
  font-size: 80%;
  opacity: .66;
}

p.meta time {
  /* font-style: italic; */
  font-size: 80%;
  opacity: .66;
}

p a {
  color: #ecedef;
  border-bottom: 0;
  text-decoration: underline;
  opacity: .66;
  transition: opacity .2s;
}

p a:hover {
  opacity: 1;
}

.description p strong {
  color: #ecedef;
  opacity: .66;
}

/* Tweet */

.embed-tweet {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2.284em 0;
  width: 100%;
  padding: 0 1.714em;
  /* max-width: 500px; */
  /* max-width: calc( 100vw - 3.428em ); */
}

twitterwidget[style] {
  margin: 0px !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Intro */

.highlight img:first-of-type {
  opacity: .75;
}

.phrase {
  padding-top: 1.142em;
  padding-bottom: 1.142em;
  color: #848892;
}

.highlight .heading {
  font-size: 1.666em;
}

.call-to-action {
  margin: 1.142em 0;
}

/* Chart */

.chart .placeholder {
  position: relative;
  padding-top: 120%;
  overflow: hidden;
}

.chart .placeholder img,
.chart .placeholder object {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: scale( 1.2 );
  /* transform-origin: 50% 75%; */
  transform-origin: 50% 68%;
}

.chart object {
  width:100%;
  max-height:100%;
}

.chart .placeholder .heading-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* About */

.about header + .steps .step:first-child {
  margin-top: 3.428em;
}

.profile {
  width: 3.428em;
  height: 3.428em;
  margin-bottom: 0.857em;
  background: #141517;
  border-radius: 999em;
  overflow: hidden;
  flex-shrink: 0;
}

/* Theme */

.more-typical {
  color: #ffa34a;
}

.less-typical {
  color: #65d5e1;
}

/* Swiper */

.swiper-container:not( .swiper-container-horizontal ) .swiper-wrapper {
  left: 50vw;
}

.swiper-container:not( .swiper-container-horizontal ) .swiper-slide {
  transform: translateX( -50% );
}

.highlights {
  width: 100vw;
}

.swiper-slide {
  max-width: 28em;
}

.swiper-slide img {
  max-width: 720px;
}

@media ( min-width: 960px ) {

  .swiper-slide {
    opacity: .2;
    transition: opacity .4s;
  }

  .swiper-slide img:not(:first-of-type) {
    opacity: 0;
    transition: opacity .4s;
  }

  .swiper-slide .heading {
    opacity: 0;
    transition: opacity .8s;
    transition-delay: .4s;
  }

  .swiper-slide-active img:not(:first-of-type) {
    opacity: 1;
  }

  .swiper-slide-active .heading {
    opacity: 1;
  }

  .swiper-slide-active {
    opacity: 1;
  }

}

/* Footer */

footer p,
ul {
  font-size: 80%;
  line-height: 1.333;
  color: #848892;
}

footer p {
  margin: 0.4em 0;
}

footer ul {
  width: 100%;
  /* margin-left: */
  margin: 0.8em 0;
  max-width: calc( 500px + 1.714em + 1.714em );
  padding: 0 1.714em;
  padding-left: 3.428em;
}

section.authors {
  text-align: center;
  padding-bottom: 4em;
}

section.authors strong {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 75%;
}

section.authors strong:not(:first-of-type)::before {
  content: '/';
  margin: 0 6px
}

/* Selection */

::-moz-selection { /* Code for Firefox */
  color: #ecedef;
  background: #141517;
}

::selection {
  color: #ecedef;
  background: #141517;
}

img,
object {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}

/* Expandable */

section.about {
  position: relative;
  justify-content: flex-start;
  width: 100%;
  max-height: 600px;
  overflow: hidden;
  /* box-shadow: inset 0 0 50px pink; */
}

@media ( min-width: 340px ) {

  section.about {
    max-height: 640px;
  }

}

@media ( min-width: 360px ) {

  section.about {
    max-height: 680px;
  }

}

@media ( min-width: 400px ) {

  section.about {
    max-height: 720px;
  }

}

@media ( min-width: 500px ) {

  section.about {
    max-height: 1000px;
  }

}

section.about.expanded {
  max-height: none;
}

section.about.expanded {
  border-bottom: 2px solid rgba( 20, 21, 23, .5 );
  padding-bottom: 6.856em;
}

section.about:not(.expanded) .read-more {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3.428em;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 17.142em;
  z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba( 20, 21, 23, 0 ),
    rgba( 20, 21, 23, 1 )
  );
}

.read-more .button {
  background-color: #ecedef;
  color: #393b41;
  opacity: .66;
  cursor: pointer;
  transition: opacity .4s;
}

.read-more .button:hover {
  opacity: 1;
}

section.about.expanded .button {
  display: none;
}


/* Medias */

@media( min-width: 340px ) {
  .highlight .heading {
    font-size: 1.8em;
  }
}

@media( min-width: 360px ) {
  .highlight .heading {
    font-size: 2em;
  }
}

@media( min-width: 480px ) {
  body {
    font-size: 1.6rem;
  }
  p {
    font-size: 1em;
  }
}

@media( min-width: 800px ) {
  body {
    font-size: 1.8rem;
  }
}

@media( min-width: 1024px ) {
  body {
    font-size: 2.1rem;
  }
}

/* Scrollama */

.fixed {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  text-align: center;
}

.fixed img {
  display: inline;
}

.steps {
  position: relative;
  z-index: 1;
  max-width: 100%;
}

.how-to .fixed img {
  max-height: 64rem;
  transform: scale( .42 );
}

@media ( min-width: 960px ) {
  .how-to .fixed img {
    transform: scale( .66 );
  }
}

.how-to .steps {
  display: flex;
  flex-direction: column;
}

.how-to .step {
  border: 0;
  max-width: 35%;
  height: 50vh;
  text-align: left;
}

.how-to .step:nth-child(even) {
  align-self: flex-end;
  padding-left: 0;
  text-align: right;
}

.how-to .step p {
  margin: 0;
}

.how-to .step:nth-child(odd) p {
  padding-right: 0;
}

.how-to .step:nth-child(even) p {
  padding-left: 0;
}
