* {
  box-sizing: border-box;
}
body {
  font-family: 'Source Sans Pro';
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.overflow {
  height: 100vh;
  overflow: hidden;
}
.panels {
  width: 200%;
}
.panels__side {
  float: left;
  width: 50%;
  -webkit-perspective: 400px;
          perspective: 400px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: 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 {
  position: relative;
  left: -25%;
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}
.panels__side--left {
  background: #f4d03f;
}
.panels__side--left:hover .arrow {
  -webkit-transform: translate(-100%, -50%);
      -ms-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
.panels__side--right {
  background: #19b5fe;
}
.panels__side--right:hover .arrow {
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.panels__side--left-active {
  -webkit-transform: translate(50%, 0);
      -ms-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;
      -ms-transform: translate(-50%, -50%) rotate(180deg) !important;
          transform: translate(-50%, -50%) rotate(180deg) !important;
}
.panels__side--right-active {
  -webkit-transform: translate(-50%, 0);
      -ms-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;
      -ms-transform: translate(-50%, -50%) rotate(180deg) !important;
          transform: translate(-50%, -50%) rotate(180deg) !important;
}
.panels__side--left-hidden {
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.panels__side--right-hidden {
  -webkit-transform: translate(50%, 0);
      -ms-transform: translate(50%, 0);
          transform: translate(50%, 0);
}
.panels__side--inner {
  cursor: pointer;
}
.panels__side--inner-left,
.panels__side--inner-right,
.panels__side--inner {
  padding: 0 5vw;
  height: 100vh;
}
.panels__side--inner-left {
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
  -webkit-transform: rotateY(-90deg);
          transform: rotateY(-90deg);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.panels__side--inner-left:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f4d03f;
  z-index: -1;
  opacity: 0.85;
}
.panels__side--inner-right {
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: rotateY(90deg);
          transform: rotateY(90deg);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.panels__side--inner-right:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #19b5fe;
  z-index: -1;
  opacity: 0.85;
}
.panels__headline {
  margin: 0;
  font-size: 40px;
  text-align: center;
  color: #1a1a1a;
}
.panels p {
  font-size: 30px;
  margin: 0;
  color: #1a1a1a;
}
@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);
        -ms-transform: translate(-50%, -80%) rotate(90deg);
            transform: translate(-50%, -80%) rotate(90deg);
  }
  .panels__side--right:hover .arrow {
    -webkit-transform: translate(-50%, -20%) rotate(90deg);
        -ms-transform: translate(-50%, -20%) rotate(90deg);
            transform: translate(-50%, -20%) rotate(90deg);
  }
  .panels__side--left-active {
    -webkit-transform: translate(0, 50%);
        -ms-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;
        -ms-transform: translate(-50%, -50%) rotate(-90deg) !important;
            transform: translate(-50%, -50%) rotate(-90deg) !important;
  }
  .panels__side--right-active {
    -webkit-transform: translate(0, -50%);
        -ms-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;
        -ms-transform: translate(-50%, -50%) rotate(-90deg) !important;
            transform: translate(-50%, -50%) rotate(-90deg) !important;
  }
  .panels__side--left-hidden {
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .panels__side--right-hidden {
    -webkit-transform: translate(0, 50%);
        -ms-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: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .panels__side--inner-left {
    -webkit-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-transform: rotateX(90deg);
            transform: rotateX(90deg);
  }
  .panels__side--inner-right {
    -webkit-transform-origin: center top;
        -ms-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%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  fill: #1a1a1a;
  border: 3px solid #1a1a1a;
  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);
        -ms-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
  .arrow--left {
    top: 25%;
  }
}

.header-spacer-demo {
  display: none;
}

.back {
  position: absolute;
  z-index: 9999;
  bottom: 15px;
  left: 15px;
  display: flex;
  align-items: center;
  color: #1a1a1a;
}

.back > svg {
	margin-right: 15px;
  fill: #1a1a1a;
}