* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Libre Franklin', san-sarif
    Ubuntu, Cantarell;
  min-height: 1280px;
  color: #914444;
  font-size: 24px;
}

p,
h1,
h2,
h3,
h4,
a {
  margin: 0;
  font-weight: 400;
}

a,
a:visited,
a:hover {
  color: teal;
  text-decoration: none;
  border-bottom: 2px solid currentColor;
}

nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #f3f3f3;
  padding: 1rem;
  padding-right: 5rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.nav__examples {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.nav__examples > * {
  margin-right: 0.5rem;
}

#intro {
  max-width: 40rem;
  margin: 1rem auto;
  text-align: center;
}

.intro__name {
  color: #292626;
}

.intro__hed {
  font-size: 2em;
  margin: 2rem auto 0.5rem auto;
}

.intro__dek {
    margin: 3rem auto;
    color: #8a8a8a;
}

.intro__sub {
  color: #454141;
}

video {
  pointer-events: none;
}

.video-wrapper {
    display: flex;
    justify-content: center;
    gap: 50px;        
    margin-top: 0px; 
    margin-bottom: 0px;
}

/* Scrolly - Overlay */
#scrolly {
    position: relative;
    background-color: #f3f3f3;
    padding: 0;
}

#map {
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 0;
}

article {
    position: relative;
    padding-top: 0vh;
    padding: 1rem;
    max-width: 27rem;
    margin: 0;
    gap: 6vh;    
}

figure {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    width: 100%;
    margin: 0;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    background-color: #8a8a8a;
}

.step {
   margin: 0 auto 2rem auto;  
   margin-bottom: 30vh; 
   color: #fff;
}

.legend-box {
    position: absolute;
    top: 5vh;
    right: 3vw;
    background: #f0f0f0;               
    padding: 8px;              
    width: fit-content;          
    font-family: "Libre Franklin";
    z-index: 10;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
    font-size: 12px;
    color: rgb(161, 150, 150);
}

.step:first-child {
    margin-top: 0;
}


.step:last-child {
    margin-bottom: 20rem;
}

.step.is-active p {
    background-color: #961e13e9;
    color: #ffffff;
}

.step p {
    text-align: left;
    padding: 2rem;
    font-size: 1.2rem;
    background-color: #3b3b3bdf;
}

.step p,
.step img {
    display: block;
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    margin: 1rem 0;
    margin-top: 1rem;
    object-fit: contain;   
}

/* Scrolly - Central */
#central-scrolly {
    position: relative; 
    height: 80vh; 
}

#map_first {
    position: fixed;
    width: 100vw;
    height: 70vh;
    z-index: 0;
}

#central-article {
    position: relative;
    max-width: 25rem;
    margin: 0 auto;
}

.central-step p {
    position: relative;
    padding: 1.5rem 1.5rem;
    background-color: #3b3b3b;
    color: #ffffff;   
    text-align: center;
    font-size: 1.3rem;
    transform: translate(35vw, 25vh);       
}

/* Scrolly - Basic */
#basic-scrolly {
    position: relative;
    padding: 4rem 0;
    background: #ffffff;
    min-height: 100vh;
    margin-bottom: 10rem;
}

#basic-scrolly article {
    max-width: 50rem;
    width: 100%;
    margin: 0 auto;
    padding: 0 1rem;
}

.basic-step {
    margin: 9rem auto 14rem auto;
    background-color: #ffffff;
    color: #000000;
    padding: 0.5rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.basic-step p {
    text-align: center;
    font-size: 1.3rem;
    margin: 0;
    margin-bottom: 0;
}

/* to remove gap above the videos */
.basic-step[data-step="C"] {
    margin-bottom: 30;  
}

.basic-step.is-active {
    opacity: 1;
}

/* Static */
#basic-scrolly-static {
    padding: 2rem 1rem;
    background: #ffffff;
    }

#basic-scrolly-static article {
    max-width: 700px;
    margin: 0 auto;
    }

#basic-scrolly-static .text-block {
    margin-bottom: 1.5rem;
    }

#basic-scrolly-static .text-block p {
    font-size: 1.2rem;
    color: #000;
    line-height: 1.3;
    }


#basic-scrolly-static-2 {
    padding: 2rem 1rem;
    background: #ffffff;
    }

#basic-scrolly-static-2 article {
    max-width: 700px;
    margin: 0 auto;
    }

#basic-scrolly-static-2 .text-block {
margin-bottom: 1.5rem; 
}

#basic-scrolly-static-2 .text-block p {
font-size: 1.2rem;
color: #000;
line-height: 1.3;
}

#basic-scrolly-static-2 .text-block img {
    display: block;
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
}

#basic-scrolly-static-2 .text-block figcaption {
    background: #ffffff;
    color: #484646;
    font-size: 0.8rem;
}

#basic-scrolly-static-2 .methodology p {
    font-size: 0.8rem;
    color: #484646;
    line-height: 1.3; 
}

#inter_map {
width: 100%;
height: 70vh; 
margin: 0 auto;
display: block;
}

#property-graph {
  width: 100%;
  margin-left: 30%;
  transform: translateX(-50%);
}

.tick text {
    fill: black;
}

.tick line {
    stroke: black;
}

.domain {
    stroke: black;
}

.github-corner:hover .octo-arm {
  animation: octocat-wave 560ms ease-in-out;
}

@keyframes octocat-wave {
  0%,
  100% {
    transform: rotate(0);
  }

  20%,
  60% {
    transform: rotate(-25deg);
  }

  40%,
  80% {
    transform: rotate(10deg);
  }
}

@media (max-width: 500px) {
  .github-corner:hover .octo-arm {
    animation: none;
  }

  .github-corner .octo-arm {
    animation: octocat-wave 560ms ease-in-out;
  }
}

#intro {
  margin-bottom: 320px;
}

#outro {
  height: 640px;
}

@media (min-width: 840px) {
  .nav__examples {
    margin-top: 0;
    margin-left: 2rem;
  }
}