#tetrahedron {
    position: fixed;
    margin: 100px;
    height: 100px;
    width: 100px;
    -webkit-transform-style: preserve-3d;
    -webkit-animation: spin 15s linear infinite;
    -webkit-transform-origin: 58px 100px 58px;

    -moz-transform-style: preserve-3d;
    -moz-animation: spin 15s linear infinite;
    -moz-transform-origin: 58px 100px 58px;

    -ms-transform-style: preserve-3d;
    -ms-animation: spin 15s linear infinite;
    -ms-transform-origin: 58px 100px 58px;

    transform-style: preserve-3d;
    animation: spin 15s linear infinite;
    transform-origin: 58px 100px 58px;

}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

@-moz-keyframes spin {
  from {
    -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

@-ms-keyframes spin {
  from {
    -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

@keyframes spin {
  from {
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

#tetrahedron > div {
    position: absolute;
    border-style: solid;
    border-width: 100px 0 100px 173px;
    -webkit-transform-origin: 0 0;
    -moz-transform-origin:    0 0;
    -ms-transform-origin:     0 0;
    transform-origin:         0 0;
}

/* Put some text on each face */
#tetrahedron > div:after {
    position: absolute;
    content: "";
    color: #fff;
    left: -50px;
    text-align: center;
}

#tetrahedron > div:first-child  {
    border-color: transparent transparent transparent rgba(255, 0, 0, 0.6);
    -webkit-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-200px);
    -moz-transform:    rotateY(-19.5deg) rotateX(180deg) translateY(-200px);
    -ms-transform:     rotateY(-19.5deg) rotateX(180deg) translateY(-200px);
    transform:         rotateY(-19.5deg) rotateX(180deg) translateY(-200px);
}

#tetrahedron > div:nth-child(2) {
    border-color: transparent transparent transparent rgba(255, 255, 0, 0.6);
    -webkit-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-200px);
    -moz-transform:    rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-200px);
    -ms-transform:     rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-200px);
    transform:         rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-200px);
}

#tetrahedron > div:nth-child(3) {
    border-color: transparent transparent transparent rgba(0, 0, 255, 0.6);
    -webkit-transform: rotateX(60deg) rotateY(19.5deg);
    -moz-transform:    rotateX(60deg) rotateY(19.5deg);
    -ms-transform:     rotateX(60deg) rotateY(19.5deg);
    transform:         rotateX(60deg) rotateY(19.5deg);
}

#tetrahedron > div:nth-child(4) {
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.0);
    -webkit-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-58px) translateY(-100px) translateZ(163px);
    -moz-transform:    rotateX(-60deg) rotateY(19.5deg) translateX(-58px) translateY(-100px) translateZ(163px);
    -ms-transform:     rotateX(-60deg) rotateY(19.5deg) translateX(-58px) translateY(-100px) translateZ(163px);
    transform:         rotateX(-60deg) rotateY(19.5deg) translateX(-58px) translateY(-100px) translateZ(163px);
}

#tetrahedronSM {
    position: static;
    margin: 5px;
    height: 50px;
    width: 50px;
    -webkit-transform-style: preserve-3d;
    -webkit-animation: spin 15s linear infinite;
    -webkit-transform-origin: 14.5px 25px 14.5px;

    -moz-transform-style: preserve-3d;
    -moz-animation: spin 15s linear infinite;
    -moz-transform-origin: 14.5px 25px 14.5px;

    -ms-transform-style: preserve-3d;
    -ms-animation: spin 15s linear infinite;
    -ms-transform-origin: 14.5px 25px 14.5px;

    transform-style: preserve-3d;
    animation: spin 15s linear infinite;
    transform-origin: 14.5px 25px 14.5px;

}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

@-moz-keyframes spin {
  from {
    -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

@-ms-keyframes spin {
  from {
    -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

@keyframes spin {
  from {
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  to {
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}

#tetrahedronSM > div {
    position: absolute;
    border-style: solid;
    border-width: 25px 0 25px 43.25px;
    -webkit-transform-origin: 0 0;
    -moz-transform-origin:    0 0;
    -ms-transform-origin:     0 0;
    transform-origin:         0 0;
}

/* Put some text on each face */
#tetrahedronSM > div:after {
    position: absolute;
    content: "";
    color: #fff;
    left: -5px;
    text-align: center;
}

#tetrahedronSM > div:first-child  {
    border-color: transparent transparent transparent rgba(255, 0, 0, 0.6);
    -webkit-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-50px);
    -moz-transform:    rotateY(-19.5deg) rotateX(180deg) translateY(-50px);
    -ms-transform:     rotateY(-19.5deg) rotateX(180deg) translateY(-50px);
    transform:         rotateY(-19.5deg) rotateX(180deg) translateY(-50px);
}

#tetrahedronSM > div:nth-child(2) {
    border-color: transparent transparent transparent rgba(255, 255, 0, 0.6);
    -webkit-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-50px);
    -moz-transform:    rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-50px);
    -ms-transform:     rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-50px);
    transform:         rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-50px);
}

#tetrahedronSM > div:nth-child(3) {
    border-color: transparent transparent transparent rgba(0, 0, 255, 0.6);
    -webkit-transform: rotateX(60deg) rotateY(19.5deg);
    -moz-transform:    rotateX(60deg) rotateY(19.5deg);
    -ms-transform:     rotateX(60deg) rotateY(19.5deg);
    transform:         rotateX(60deg) rotateY(19.5deg);
}

#tetrahedronSM > div:nth-child(4) {
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.0);
    -webkit-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-14.5px) translateY(-25px) translateZ(40.75px);
    -moz-transform:    rotateX(-60deg) rotateY(19.5deg) translateX(-14.5px) translateY(-25px) translateZ(40.75px);
    -ms-transform:     rotateX(-60deg) rotateY(19.5deg) translateX(-14.5px) translateY(-25px) translateZ(40.75px);
    transform:         rotateX(-60deg) rotateY(19.5deg) translateX(-14.5px) translateY(-25px) translateZ(40.75px);
}