body {
  text-rendering: optimizeLegibility;
  -webkit-overflow-scrolling: touch;
  -webkit-font-smoothing: antialiased;
  background: #cecece;
  color: #222;
  font-size: 14px;
  line-height: 1.3;
  font-family: -apple-system,BlinkMacSystemFont,HelveticaNeue,Helvetica,Roboto,Arial,sans-serif;
  height: 100vh;
  overflow: hidden;
}
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  color: #222;
}
p {
  margin-top: 0;
  margin-bottom: 25px;
}

.window {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform ease-in-out .3s;
  transition: -webkit-transform ease-in-out .3s;
  -o-transition: transform ease-in-out .3s;
  transition: transform ease-in-out .3s;
  transition: transform ease-in-out .3s, -webkit-transform ease-in-out .3s;
}

_::-webkit-full-page-media, _:future, :root .window {
  -webkit-transform: scale(2.1);
      -ms-transform: scale(2.1);
          transform: scale(2.1);
}

.zoomed {
  -webkit-transform: scale(1.7);
      -ms-transform: scale(1.7);
          transform: scale(1.7);
}

_::-webkit-full-page-media, _:future, :root .zoomed {
  -webkit-transform: scale(3.2);
      -ms-transform: scale(3.2);
          transform: scale(3.2);
}

#container {
  width: 40vw;
  height: 20vw;
  position: relative;
  -webkit-perspective: 39vw;
          perspective: 39vw;
}

_::-webkit-full-page-media, _:future, :root #container {
  -webkit-perspective: 19vw;
          perspective: 19vw;
}

#room {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-transform-origin: 50% 80% 20vw;
      -ms-transform-origin: 50% 80% 20vw;
          transform-origin: 50% 80% 20vw;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
#room figure {
  margin: 0;
  display: block;
  position: absolute;
  font: 40px;
  text-align: center;
}

.wall {
  cursor: crosshair;
}

.content {
  width: 30vw;
  height: 20vw;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.content img {
  display: block;
  width: 100%;
  height: 95%;
  -o-object-fit: contain;
     object-fit: contain;
}

.content.two-col img {
  width: 45%;
  height: 80%;
}

.video-wrapper {
  display: block;
  width: 45%;
  position: relative;
}

.video-wrapper:after {
  content: '';
  padding-bottom: 75%;
  display: block;
}

.video-wrapper video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  outline: none;
}

#room .n,
.e,
.s,
.w {
  width: 40vw;
  height: 20vw;
}
#room .n {
  background: #e9e9e9;
  -webkit-box-shadow: 0 0 0 2px #e9e9e9;
          box-shadow: 0 0 0 2px #e9e9e9;
}
#room .e {
  background-color: #dbdbdb;
}
#room .s {
  background-color: #dbdbdb;
  background: #e9e9e9;
  -webkit-box-shadow: 0 0 0 2px #e9e9e9;
          box-shadow: 0 0 0 2px #e9e9e9;
}
#room .w {
  background-color: #dbdbdb;
}
#room .t, .b {
  width: 40vw;
  height: 40vw;
  top: -10vw;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(206,206,206,1)),color-stop(20%, rgba(206,206,206,0)),color-stop(80%, rgba(206,206,206,0)),to(rgba(206,206,206,1)));
  background: -o-linear-gradient(top, rgba(206,206,206,1) 0%,rgba(206,206,206,0) 20%,rgba(206,206,206,0) 80%,rgba(206,206,206,1) 100%);
  background: linear-gradient(to bottom, rgba(206,206,206,1) 0%,rgba(206,206,206,0) 20%,rgba(206,206,206,0) 80%,rgba(206,206,206,1) 100%);
}
/* transform & inverse */

#room .n {
  -webkit-transform: rotateY(0deg) translateZ(0px);
          transform: rotateY(0deg) translateZ(0px);
}
#room .e {
  -webkit-transform: rotateY(-90deg) translateZ(-20vw) translateX(20vw);
          transform: rotateY(-90deg) translateZ(-20vw) translateX(20vw);
}
#room .s {
  -webkit-transform: rotateY(180deg) translateZ(-40vw);
          transform: rotateY(180deg) translateZ(-40vw);
}
#room .w {
  -webkit-transform: rotateY(90deg) translateZ(-20vw) translateX(-20vw);
          transform: rotateY(90deg) translateZ(-20vw) translateX(-20vw);
}
#room .t {
  -webkit-transform: rotateX(90deg) translateZ(10vw) translateY(20vw);
          transform: rotateX(90deg) translateZ(10vw) translateY(20vw);
}
#room .b {
  -webkit-transform: rotateX(90deg) translateZ(-10vw) translateY(20vw);
          transform: rotateX(90deg) translateZ(-10vw) translateY(20vw);
}

.arrows {
  position: absolute;
  z-index: 9;
  bottom: 1.5vw;
  width: 100%;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.arrow {
  padding: 30px 30px;
  color: #555;
  cursor: pointer;
  font-size: 20px;
  margin-left: .5vw;
  -webkit-transition: opacity ease-in-out .2s;
  -o-transition: opacity ease-in-out .2s;
  transition: opacity ease-in-out .2s;
}

.arrow:hover {
  opacity: .7;
}

.arrow:first-child {
  margin-left: 0;
  margin-right: .5vw;
}

.info {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 9999999;
}

#info-link {
  background: #fff;
  padding: 1px 5px;
  /*border-radius: 2px;*/
  cursor: pointer;
  -webkit-transition: opacity ease-in-out .2s;
  -o-transition: opacity ease-in-out .2s;
  transition: opacity ease-in-out .2s;
}

#info-link:hover {
  opacity: .7;
}

#info-wrapper {
  background: #fff;
  position: absolute;
  top: 34px;
  right: 0;
  height: 90vh;
  width: 90vw;
  padding: 15px;
}

.hidden {
  display: none;
}

#room {
  -webkit-transform: rotateY(0deg);
          transform: rotateY(0deg);
  -webkit-transition: -webkit-transform ease-in .5s;
  transition: -webkit-transform ease-in .5s;
  -o-transition: transform ease-in .5s;
  transition: transform ease-in .5s;
  transition: transform ease-in .5s, -webkit-transform ease-in .5s;
}

@media only screen and (min-width: 900px) {
  #info-wrapper {
    padding: 55px;
    width: 36vw;
    right: 56px;
  }
}