*{
    font-size: 62.5%;
    box-sizing: border-box;
}
body{
  background: rgba(143, 37, 86, 0.685);

}
.grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
}

.grid .instructions,
.grid .inner-monologue,
.grid .container{
  background: rgba(233, 225, 109, 0.774);
  box-shadow: 2px 2px 12px 11px rgb(27, 27, 56);
}
  
  .container .code{
    display: block;
    margin: 10px auto;
    max-width: 90%;
  }

  .instructions{
    position: relative;
    grid-area: 1/1/2/2;
    width: 95%;
    border: 4px dashed black;
    border-radius: 5%;
    margin: 0 auto 10px auto;
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
  }
  
  .prev,
  .next{
    position: absolute;
    bottom: 3%;
    background: rgb(137, 137, 223);
    color: rgba(0, 0, 0, .9);
    border-radius: 50%;
  }

  .prev{
    left:2%;
  }

  .next{
    right:2%;
  }

  .narrator,
  .statement,
  .reaction-img{
    display: block;
    margin: 5px auto;
    text-align: center;
    max-width: 90%;
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
  }

  .statement{
    margin-bottom: 5%;
  }
  
  .reaction-img{
    max-width: 80%;
  }
  
  .instructions .narrator{
    font-size: 3.6rem;
  }
  
  .instructions .statement{
    font-size: 1.6rem;
  }

  .container{
    grid-area: 2/1/3/3;
    width: 95%;
    border: 4px dashed black;
    border-radius: 5%;
    margin: 0 auto 10px auto;
  }
  
  .inner-monologue{
    position: relative;
    grid-area: 1/2/2/3;
    width: 95%;
    border: 4px dashed black;
    border-radius: 5%;
    margin: 0 auto 10px auto;
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
  }
  
  .sub-step-text,
  .sub-step-img,
  .sub-step-icon{
    display: block;
    margin: 5px auto;
    text-align: center;
    max-width: 90%;
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
    }
    
    .inner-monologue .sub-step-text{
      font-size: 2.5rem;
    }
    
    .inner-monologue .sub-step-icon{
      font-size: 12rem;
    }

    .sub-step-img,
    .sub-step-icon{
      margin-bottom: 10%;
    }
    
    .nav{
      display: flex;
      justify-content: space-around;
      font-size: 3rem;
    }
    .hidden{
        opacity: 0;
        transition: opacity 0.4s ease-in-out;
    }


    /* mobile layout */
    @media screen and (width <= 790px) {
      .grid{
        grid-template-columns: 100%;
        grid-template-rows: 1fr auto 3fr;
      }

      .inner-monologue{
        grid-area: 2/1/3/2;
      }
      
      .container{
        grid-area: 3/1/4/2;
      }

      .prev,
      .next{
        position: absolute;
        bottom: 3%;
      }
    
      .prev{
        left:2%;
      }
    
      .next{
        right:2%;
      }

      .statement{
        margin-bottom: 12%;
      }

      .sub-step-img,
      .sub-step-icon{
        margin-bottom: 20%;
      }
    }