@font-face {
  font-family: 'Roxborough';
  src: url(roxboroughcf-light.woff2);
}

@font-face {
  font-family: 'Roxborough Italic';
  src: url(roxboroughcf-lightitalic.woff2);
}

html,
body {
  position: fixed;
}

canvas {
  vertical-align: bottom;
}

body {
  font-family: 'Roxborough Italic';
  font-size: 2vw;
  cursor: url('sparkle-2.png'), auto;
  color: #cecece;
  background-color: #272727;

  height: 100vh;
  position: relative;
}

h1 {
  font-family: 'Roxborough';
  font-size: 2.6vw;
  text-indent: -0.4em;
  margin: 0 0 6px 0;
  line-height: 1.1;
}

h1,
p {
  transition: opacity 1s;
}

section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

section.quote {
  left: 50%;
  transform: translate(-50%);
  position: absolute;
  bottom: 30px;
  transition: margin-left 0.75s ease;
  z-index: 10;
}

div.reveal, div.cta {
  position: absolute;
  z-index: 10;
}

.reveal {
 font-size: 4vw;
 right: 30px;
 top: 30px;
 transition: margin-right .75s ease;
 mix-blend-mode: exclusion;
 cursor: pointer;
}

.cta{
 font-size: 2vw;
 left: 30px;
 top: 30px;
 width: 30vw;
}

h2, span {
 display: inline-block;
}

.info-box {
 background-color: #5bb878; 
 border-left: 5px solid #fe6fac;	 
 font-size: 1.8vw;
 height: 100vh;
 padding: 100px 53px 53px;
 position: fixed;
 top: 0;
 right: 0;
 transition: transform .75s ease;
 transform: translateX(200%);
 width: 30%;
 z-index: 1;
 -webkit-overflow-scrolling: touch;
}

div.info-box p {
  color: #242424;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: 'Roxborough';
  line-height: 1.3;
  font-size: 2vw;
}

.open {
 overflow: scroll;
 transition: transform .75s ease;
 transform: translateX(0);
}

.moving {
    margin-right: 25%;
    transition: margin-right .75s ease;
}

@media (max-width: 800px) {
  h1 {
    font-size: 7vw;
    background-color: #0000007d;
    padding: 0.5em;
    color: #fff;
    mix-blend-mode: exclusion;
    width: 80vw;
  }

  p {
    font-size: 5.5vw;
  }
  
  section.quote {
    bottom: 75px;
  }
  
 div.reveal {
 font-size: 7vw;
 padding: 0.5em;
 z-index: 25;
  }
  
  .info-box {
    width: 60%;
    z-index: 11;
    padding: 100px 2.4em;
  }
  
  div.info-box p {
    line-height: 1.3;
    font-size: 5vw;
  }
  
  .moving {
    margin-right: 30%;
    z-index: 25;
  }
}


