* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  }
  
  .overflow {
    height: 100vh;
    overflow: hidden;
  }
  .panels {
    width: 200%;
  }
  .panels__side {
    float: left;
    width: 50%;
    -webkit-perspective: 400px;
            perspective: 400px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .panels__side--left,
  .panels__side--right {
    will-change: transform;
    position: relative;
    left: -25%;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .panels__side--left {
    background: rgba(203, 43, 94, 1);
  }
  .panels__side--left:hover .arrow {
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  .panels__side--right {
    background:rgba(117, 58, 136, 1);
  }
  .panels__side--right:hover .arrow {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .panels__side--left-active {
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }
  .panels__side--left-active .panels__side--inner-left {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  .panels__side--left-active .arrow {
    -webkit-transform: translate(-50%, -50%) rotate(180deg) !important;
            transform: translate(-50%, -50%) rotate(180deg) !important;
  }
  .panels__side--right-active {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .panels__side--right-active .panels__side--inner-right {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  .panels__side--right-active .arrow {
    -webkit-transform: translate(-50%, -50%) rotate(180deg) !important;
            transform: translate(-50%, -50%) rotate(180deg) !important;
  }
  .panels__side--left-hidden {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .panels__side--right-hidden {
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }
  .panels__side--inner {
    cursor: pointer;
  }
  .panels__side--inner-left,
  .panels__side--inner-right,
  .panels__side--inner {
    will-change: transform;
    padding: 0 5vw;
    height: 100vh;
  }
  .panels__side--inner-left {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: rotateY(-90deg);
            transform: rotateY(-90deg);
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
    background: url("https://source.unsplash.com/random") center/cover;
  }
  .panels__side--inner-left:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:#55c5d0;
    z-index: -1;
    opacity: 0.85;
  }
  .panels__side--inner-right {
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: rotateY(90deg);
            transform: rotateY(90deg);
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
    background: url("https://source.unsplash.com/random") center/cover;
  }
  .panels__side--inner-right:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:#55c5d0;
    z-index: -1;
    opacity: 0.85;
  }
  .panels__headline {
    margin: 0;
    font-size: 40px;
    text-align: center;
    color: white;
  }
  .panels p {
    font-size: 30px;
    margin: 0;
  }
  @media (max-width: 640px) {
    .panels {
      width: 100%;
      height: 200vh;
    }
    .panels__side {
      float: none;
      width: 100%;
      height: 100vh;
      display: block;
      text-align: center;
    }
    .panels__side--left,
    .panels__side--right {
      top: -25%;
      left: 0;
    }
    .panels__side--left:hover .arrow {
      -webkit-transform: translate(-50%, -80%) rotate(90deg);
              transform: translate(-50%, -80%) rotate(90deg);
    }
    .panels__side--right:hover .arrow {
      -webkit-transform: translate(-50%, -20%) rotate(90deg);
              transform: translate(-50%, -20%) rotate(90deg);
    }
    .panels__side--left-active {
      -webkit-transform: translate(0, 50%);
              transform: translate(0, 50%);
    }
    .panels__side--left-active .panels__side--inner-left {
      -webkit-transform: rotateX(0);
              transform: rotateX(0);
    }
    .panels__side--left-active .arrow {
      -webkit-transform: translate(-50%, -50%) rotate(-90deg) !important;
              transform: translate(-50%, -50%) rotate(-90deg) !important;
    }
    .panels__side--right-active {
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
    }
    .panels__side--right-active .panels__side--inner-right {
      -webkit-transform: rotateX(0);
              transform: rotateX(0);
    }
    .panels__side--right-active .arrow {
      -webkit-transform: translate(-50%, -50%) rotate(-90deg) !important;
              transform: translate(-50%, -50%) rotate(-90deg) !important;
    }
    .panels__side--left-hidden {
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
    }
    .panels__side--right-hidden {
      -webkit-transform: translate(0, 50%);
              transform: translate(0, 50%);
    }
    .panels__side--inner-left,
    .panels__side--inner-right,
    .panels__side--inner {
      height: 50vh;
      padding: 2vh 8vw;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
    }
    .panels__side--inner-left {
      -webkit-transform-origin: center bottom;
              transform-origin: center bottom;
      -webkit-transform: rotateX(90deg);
              transform: rotateX(90deg);
    }
    .panels__side--inner-right {
      -webkit-transform-origin: center top;
              transform-origin: center top;
      -webkit-transform: rotateX(-90deg);
              transform: rotateX(-90deg);
    }
    .panels__headline {
      font-size: 32px;
    }
    .panels p {
      font-size: 20px;
    }
  }
  .arrow {
    position: absolute;
    top: 75%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    fill: white;
    border: 3px solid white;
    border-radius: 50%;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  }
  @media (max-width: 640px) {
    .arrow {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
              transform: translate(-50%, -50%) rotate(90deg);
    }
    .arrow--left {
      top: 25%;
    }
  }
  .logo {
    position: fixed;
    bottom: 3vh;
    right: 3vw;
    z-index: 2;
  }
  .logo img {
    width: 45px;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .logo img:hover {
    -webkit-transform: rotate(180deg) scale(1.1);
            transform: rotate(180deg) scale(1.1);
  }
  