body {
  overflow: hidden;
  margin: 0;
  padding: 0;
    height: 100vh;
    height: 100dvh;
}
h1 {
  position: fixed;
  top: 2rem;
  left: 4rem;
  font-size: 1.5rem;
}
.flipbook-viewport {
  overflow: hidden;
  width: 100%;
    height: 100vh;
    height: 100dvh;
  position: relative;
  background: linear-gradient(180deg, #4c6048 0%, #4c6048 50%, #5e5047 50%, #5e5047 100%);
}
.flipbook-viewport .container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  margin: auto;
}
.flipbook-viewport .flipbook {
  width: 848px;
  height: 600px;
}
.flipbook-viewport .page {
  width: 424px;
  height: 600px;
  background-color: white;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.flipbook .page {
  box-shadow: none;
  /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); */
}
.flipbook-viewport .page img {
  user-select: none;
  margin: 0;
}
.flipbook-viewport .shadow {
  /*  box-shadow: 0 0 20px #ccc;*/
}

.flipbook-viewport .container div.layer--left {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    pointer-events: cursor;
    z-index: 100000;
}

.flipbook-viewport .container div.layer--right {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    pointer-events: cursor;
    z-index: 100000;
}

div.arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  width: 100%;
  max-width: 848px;
  height: 2rem;
  z-index: 10000;
}
div.arrow span {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  cursor: pointer;
  transition: 0.25s all;
  font-size: 2rem;
    font-size: 3rem;
}
div.arrow span:hover {
  opacity: 0.5;
}
div.arrow div.layer--left {
    top: 50%;
    transform: rotate(90deg) translateY(-50%);
  left: -4rem;
  position: absolute;
}
div.arrow div.layer--right {
    top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  right: -4rem;
  position: absolute;
}
@media only screen and (max-width: 768px) {
  body {
    height: 100dvh;
  }
}
@media only screen and (max-width: 480px) {
  div.arrow {
    top: auto;
    bottom: 0;
    left: 50%;
  }
  div.arrow span {
  }
}