* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

html {
  scroll-behavior: smooth;
  background-color: #363636;
}

#intro {
  background-color: #363636;
  height: 100vh;
  width: auto;
  position: relative;
}

#intro h1 {
  position: relative;
  top: 9%;
  left: 5%;
  font-size: 5.22em;
  filter: blur(8px);
  color: #fbb03b;
  transition: 0.5s all;
  cursor: pointer;
  letter-spacing: 0.04em;
  line-height: 1.08em;
}

  #intro h1:hover {
  filter: blur(0);
}

#intro h3 {
  position: relative;
  left: 5%;
  top: 11%;
  color: #cccccc;
  font-weight:300;
  letter-spacing: 0.04em;
  font-size: 1.65em;
}

#design {
  position: absolute;
  left: 5%;
  top: 86%;
  color: #707070;
}

#intro button {
  position: absolute;
  left: 5%;
  top: 49%;
  background-color: transparent;
  color: white;
  border: 1px solid white;
  border-radius: 12px;
  cursor: pointer;
  font-size: 2.5vh;
  padding: 0.3%;
  padding-left: 0.8%;
  padding-right: 0.8%;

}

#intro button:hover {
  background-color: #f3f3f3;
  color:#363636;
}

.main {
  /* overflow-scrolling enables momentum-based scrolling on touch devices. This allows the user to use their fingers less on touch devices  */
  -webkit-overflow-scrolling: touch;
  /* 'transform' is included to ensure z-index works properly on all kinds of devices */
  transform: translate3d(0, 0, 0); 
  background-color: #363636;
}

body {
  background-color: #363636;
}

#scrollytelling {
  /* 'position:relative' allows the scrollytelling section to be positioned in a custom way */
  position: relative;
  background-color: #363636;
  display: grid;
  grid-template-columns: 40% 60%;
  grid-template-rows: auto;
  grid-template-areas: 
  "article figure";
}

article {
  position: relative;
  /* 'max-width' sets how wide each step's the text comes up on the screen */
  max-width: 25rem;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  /* 'transform' is included to ensure z-index works properly on all kinds of devices */
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  grid-area: article;
  color: aliceblue;
}

article a {
  color: #2869d2;
  text-decoration:underline ;
}

article a:hover {
  color: #2869d2;
  text-decoration: none;
}

article a:visited {
  color: #2869d2;
}

figure {
  /* 'sticky' is responsible for keeping the figure centered in the page as the user scrolls */
  position: -webkit-sticky;
  position: sticky;
  /* 'left' is required for 'position:sticky' to function */
  left: 0;
  /* 'width:100%' and 'margin:0' forces the figure to take up the maximum space. This helps with image sizing and centering*/
  width: 100%;
  /* height: 500px; */
  margin: 0;
  /*OPTIONAL: Setting the min-height prevents the figure from becoming unreadable */
  min-height: 480px;
  /* 'transform' is included to ensure z-index works properly on all kinds of devices */
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background-color: #363636;
  grid-area: figure;
}

figure img {
  /* position:absolute allows us to place the images on top of one another, which allows for smooth transitioning*/
  position:absolute;
  height: 100%;
  width: 100%;
  /* margin-top: 10%; */
  /*@TODO - fill in the necessary property that properly placed the figure*/
  left: 0;
  /* ease-out transition creates a smooth change for the image from completely see-through, to fully visible. */
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.step {
  /* 'position relative' allows the steps to positioned in a custom way*/
  position: relative;
  /* margins are set to position step as high as possible, centered, and with a minimum bottom margin*/
  margin: 65% auto 2rem auto;
}

.step.last-child {
  /* OPTIONAL: removes extra space at the bottom of the story*/
  margin-bottom: 0;
}

.step p {
  /* 'position relative' allows the steps to positioned in a custom way*/
  position: relative;
  text-align: left;
  /*OPTIONAL: creates space around the text*/
  padding: 1rem;
  /*OPTIONAL: can be set based on preferences*/
  font-size: 20px;
  opacity: 0.95
}

#hb {
  color: #f84735;
}

#viz {
  height: 98vh;
  width: 100%;
  background-color:#363636;
  display: grid;
  grid-template-columns: 25% 75%;
  grid-template-rows: 3% 97%;
  grid-template-areas: 
  "top top"
  "left right";
}

#my_dataviz {
  grid-area: right;
  background-color: #363636;
  position: relative;
}

#top {
  grid-area: top;
}

#left {
  grid-area: left;
  position: relative;
  padding-left:10% ;
  padding-top: 6%;
}

.tooltip {
  height: auto;
  width:auto;
  position: absolute;
  left: 0px;
  top: 0px;
  pointer-events: none;
  padding-left: 1.7vw;
  padding-right: 1.7vw;
  padding-top: 2.2vh;
  padding-bottom: 2.2vh;
  color: black;
  background-color: #f3f3f3;
}

.tool_title {
  font-weight: bold;
  font-size: 1.2vw;
  margin-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0.8vh;
}

.tooltip p {
  margin: 0;
  padding: 0;
  margin-bottom: 3.5vh;
  margin-top: 0.3vh;
}

#break {
  margin-top: 0.8vh;
}

#break p {
  margin: 0;
  padding: 0;
  margin-bottom: -0.5;
}

.button {
  background-color: transparent;
  color: white;
  border: 1px solid white;
  border-radius: 12px;
  cursor: pointer;
  font-size: 2vh;
  margin-right: 0.5vw;
}

.button:hover {
  background-color: #f3f3f3;
  color:black;
}

#button_area {
  position: absolute;
  left: 10%;
  bottom: 5%;
}

#left p {
  font-size:2.1vh ;
  color: white;
  line-height: 1.3;
}

#back {
  position: absolute;
  right: 3%;
  bottom: 4%;
  height: 6vh;
  opacity: 0.5;
}

#back:hover {
  opacity: 1;
}

#how {
  background-color: rgba(117, 117, 117, 0.3);
  padding: 3%;
  padding-left: 3.5;
  padding-right: 3.5;
}

.web_title {
  font-size:2.2vh ;
  fill: white;
  font-weight:normal;
}

#key {
  background-color: #363636;
  margin-top: 2.5%;
}

#about {
  /* background-color: #f84735; */
  margin-left:20%;
  margin-right:20%;
  margin-top: 3%;
}

.about-text {
  color: #cccccc;
  line-height: 1.5;
  font-size: 2.5vh;
  margin-bottom: 5%;
}

.about-text a {
  color: #2869d2;
  text-decoration:underline ;
}

.about-text a:hover {
  color: #2869d2;
  text-decoration: none;
}

.about-text a:visited {
  color: #2869d2;
}

.method-title {
  margin-top: 8%;
  color: #e9e9e9;
}

.about-img {
  padding-left: 15%;
  padding-right: 15%;
}

#diagram {
  padding-left: 10%;
  padding-right: 10%;
}

.about-img img {
  position: relative;
}

figcaption {
  text-align: center;
  font-size: 2.3vh;
  /* margin-top: 0.1%; */
  font-style: italic;
  color: #b5b4b4;
}

.about-text h2 {
  font-size: 2.8vh;
  text-decoration: underline;
  color: #e0e0e0;
}

.about-img figure {
  min-height: 80px;
  margin-bottom: 5%;
}

footer{
  margin-top: 8%;
}

footer hr {
  border: 1px dashed rgb(105, 105, 105)
}

#footer-credit {
  margin: 0;
  margin-top: 1%;
  padding: 0;
  text-align: center;
  font-size: 2vh;
  color: #9a9999;
}

#diagram-img {
  width:100%;
  height: auto;
}


#mobile {
  background-color: #363636;
  height: 100vh;
  width: auto;
  padding-top: 40%;
  border-color:  #363636;
}

#mobile {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  display: none;
}

.phone {
  height: 100px;
  width: 200px;
  border: 3px solid white;
  border-radius: 10px;
  animation: rotate 1.5s ease-in-out infinite alternate;
  margin-left: auto;
  margin-right: auto;
  display: none;
}

.message {
  color: white;
  font-size: 1.1em;
  margin-top: 40px;
  display: none;
  padding-top: 10%;
}

.message p {
  text-align: center;
}

.mobile p {
  text-align: center;
}

main {
  background-color: #363636;
}

@keyframes rotate {
  0% {
		transform: rotate(0deg)
	}
	50% {
		transform: rotate(-90deg)
	}
	100% {
		transform: rotate(-90deg)
	}
}

@media only screen and (max-device-width: 768px) and (orientation: portrait) {
  .phone, .message, #mobile {
    display: block;
  }
  #viz {
    display: none;
  }
  #intro button {
  display: none;
  }
}

@media only screen and (max-device-width: 1024px)  {

  #intro button {
    display: none;
    }

}