/* Cube */
.cube {
  position: relative;
  width: 3em;
  height: 3em;
  transform-style: preserve-3d; }

.cube__side {
  position: absolute;
  top: 0;
  left: 0;
  width: 3em;
  height: 3em;
  background: #111;
  opacity: 0.2; }

.cube__side--top {
  transform: rotateX(-90deg) translate3d(0, 1.5em, -1.5em); }

.cube__side--right {
  transform: rotateY(90deg) translate3d(1.5em, 0, 1.5em); }

.cube__side--back {
  transform: translate3d(0, 0, -3em); }

.cube__side--left {
  transform: rotateY(-90deg) translate3d(-1.5em, 0, 1.5em); }

.cube__side--bottom {
  transform: rotateX(90deg) translate3d(0, -1.5em, -1.5em); }

/**/
.box {
  position: relative;
  width: 6em;
  height: 6em;
  transform-style: preserve-3d;
  animation-name: move;
  animation-duration: 3000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear; }

.box__layer {
  position: relative;
  width: 6em;
  height: 3em;
  transform-style: preserve-3d; }
  .box__layer .cube {
    position: absolute;
    top: 0; }
  .box__layer .cube:nth-of-type(1) {
    left: 0;
    transform: translateZ(1.5em); }
  .box__layer .cube:nth-of-type(2) {
    left: 3em;
    transform: translateZ(1.5em); }
  .box__layer .cube:nth-of-type(3) {
    left: 0;
    transform: translateZ(-1.5em); }
  .box__layer .cube:nth-of-type(4) {
    left: 3em;
    transform: translateZ(-1.5em); }

.box__shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: blur(0.8em);
  background: black;
  animation-name: shadow;
  animation-duration: 3000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear; }

/**/
@keyframes move {
  0% {
    transform: rotateX(60deg) rotateZ(0deg) translateZ(3em); }
  50% {
    transform: rotateX(60deg) rotateZ(-180deg) translateZ(1.5em); }
  100% {
    transform: rotateX(60deg) rotateZ(-360deg) translateZ(3em); } }
@keyframes shadow {
  0% {
    opacity: 0.2;
    transform: translateZ(-12em) scale(0.8, 0.8); }
  50% {
    opacity: 0.3;
    transform: translateZ(-10.5em) scale(1, 1); }
  100% {
    opacity: 0.2;
    transform: translateZ(-12em) scale(0.8, 0.8); } }
/**/
body {
  perspective: 12em;
  perspective-origin: 50% 50%;
  background: url("../img/logo.png") center top no-repeat;
  background-size: 334px auto;
  margin-top: 150px; }

/**/
html,
body {
  width: 100%;
  height: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F5F5F5;
  overflow: hidden;
}
/* Circles */
.watch-face {
  height: 125px;
  width: 125px;
  animation: pulse 4s cubic-bezier(0.5, 0, 0.5, 1) alternate infinite;
}

.circle {
  height: 125px;
  width: 125px;
  border-radius: 50%;
  position: absolute;
  mix-blend-mode: screen;
  transform: translate(0, 0);
  animation: center 6s infinite;
}

.circle:nth-child(odd) {
  background: #61bea2;
}

.circle:nth-child(even) {
  background: #529ca0;
}

.circle:nth-child(1) {
  animation: circle-1 4s ease alternate infinite;
}

.circle:nth-child(2) {
  animation: circle-2 4s ease alternate infinite;
}

.circle:nth-child(3) {
  animation: circle-3 4s ease alternate infinite;
}

.circle:nth-child(4) {
  animation: circle-4 4s ease alternate infinite;
}

.circle:nth-child(5) {
  animation: circle-5 4s ease alternate infinite;
}

.circle:nth-child(6) {
  animation: circle-6 4s ease alternate infinite;
}

@keyframes pulse {
  0% {
    transform: scale(.15) rotate(180deg);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes circle-1 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-35px, -50px);
  }
}

@keyframes circle-2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(35px, 50px);
  }
}

@keyframes circle-3 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-60px, 0);
  }
}

@keyframes circle-4 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(60px, 0);
  }
}

@keyframes circle-5 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-35px, 50px);
  }
}

@keyframes circle-6 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(35px, -50px);
  }
}

/*Video*/
video {
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}
div#bob {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 346px;
	height: 500px;
	background: url(../img/bob.png);
}
/*RVN*/
#rvn {
	-webkit-opacity: 0;
	-moz-opacity: 0;
	-ms-opacity:0;
	-o-opacity:0;
    -webkit-animation: fadein 2s;
	-moz-animation: fadein 2s;
	-ms-animation: fadein 2s;
	-o-animation: fadein 2s;
	animation: fadein 2s;
    -webkit-animation-delay: 5s;
    -moz-animation-delay: 5s;
	-ms-animation-delay: 5s;
	animation-delay: 5s;
	-webkit-animation-timing-function: ease-out;
	-moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
	-webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
 }

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1 ; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

#bgvid.rvn {
	-webkit-animation: fadein 2s;
	-moz-animation: fadein 2s;
	-ms-animation: fadein 2s;
	-o-animation: fadein 2s;
	animation: fadein 2s;
}