.body{
display: flex; 
    height: 100vh; 
    justify-content: center; 
    align-items: center; }
.cube { 
    width: 200px; 
    height: 200px; 
    position: relative; 
    transform-style: preserve-3d; 
    animation: rotate 10s linear infinite; 
} 
  
img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
} 
  
.box { 
    width: 100%; 
    height: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
    opacity: 0.9; 
} 
  
/* Applying styles to each face */
.box1 { 
    transform: translateZ(100px); 
} 
  
.box2 { 
    transform: rotateY(90deg) translateX(100px); 
    transform-origin: right; 
} 
  
.box3 { 
    transform: rotateY(180deg) translateZ(100px); 
} 
  
.box4 { 
    transform: rotateY(-90deg) translateX(-100px); 
    transform-origin: left; 
} 
  
.box5 { 
    transform: rotateX(-90deg) translateY(-100px); 
    transform-origin: top; 
} 
  
.box6 { 
    transform: rotateX(90deg) translateY(100px); 
    transform-origin: bottom; 
} 
  
/* Animating the elements */
@keyframes rotate { 
    0%, 
    100% { 
        transform: rotate(0deg); 
    } 
    20% { 
        transform: rotateY(90deg) rotateZ(90deg); 
    } 
    40% { 
        transform: rotateY(180deg) rotateZ(-90deg); 
    } 
    60% { 
        transform: rotateY(270deg) rotateZ(90deg); 
    } 
    80% { 
        transform: rotateY(360deg) rotateZ(-90deg); 
    } 

} 


.triangle {
  width: 400px;
  height: 400px;
  margin: 0 auto;
  position: relative;
  perspective: 300px;
  color:#abf307;
  perspective-origin: 50% 40%;
}

.side {
  position: absolute;
  left: 140px;
  top: 150px;
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-bottom: 120px solid #ccc;
  transform-origin: 50% 0%;
  animation: spin 10s infinite linear;
}

.back {
  /*animation-delay: -($speed/2) + s; */
}

.right {
  /*animation-delay: -($speed/4) + s; */
}

.left {
  
  /*animation-delay: -($speed * 0.75) + s; */
}

@keyframes spin {
  0% {
    transform: rotateY(0deg) rotateX(30deg);
    border-bottom-color: lighten($color, 5%);
  }
  25% {
    transform: rotateY(90deg) rotateX(30deg);
    border-bottom-color: darken($color, 5%);
    opacity: 1;
  }
  25.1% {
    opacity: 0;
  }
  50% {
    transform: rotateY(180deg) rotateX(30deg);
    border-bottom-color: darken($color, 12%);
  }
  74.9% {
    opacity: 0;
  }
  75% {
    transform: rotateY(270deg) rotateX(30deg);
    border-bottom-color: darken($color, 15%);
    opacity: 1;
  }
  100% {
    transform: rotateY(360deg) rotateX(30deg);
    border-bottom-color: lighten($color, 5%);
  }
}


.shadow {
  position: absolute;
  top: 300px;
  left: 175px;
  width: 50px;
  height: 50px;
  background-color: #bbb;
  box-shadow: 0 0 40px 40px #bbb;
  animation: shadow 5s infinite linear;
}

@keyframes shadow {
  0% {
    transform: rotateX(90deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(90deg) rotateZ(-360deg);
  }
}
