/* Config */
:root {
  --sk-size: 50px; /* サイズ - 可変 */
  --sk-color: rgb(29,49,85); /* ベースの色 - 可変 */
}

/* Utility class for centering */
.sk-center { margin: auto; }

.sk-wander {
  width: var(--sk-size);
  height: var(--sk-size);
  position: relative; 
}

.sk-wander-cube {
  background-color: var(--sk-color);
  width: 20%;
  height: 20%;
  position: absolute;
  top: 0;
  left: 0;
  --sk-wander-distance: calc(var(--sk-size) * 0.75);
  animation: sk-wander 2.0s ease-in-out -2.0s infinite both;
}
.sk-wander-cube:nth-child(2) { animation-delay: -0.5s; }
.sk-wander-cube:nth-child(3) { animation-delay: -1.0s; }

@keyframes sk-wander {
  0% {
    transform: rotate(0deg); 
  } 25% {
    transform: translateX(var(--sk-wander-distance)) rotate(-90deg) scale(0.6); 
  } 50% { /* Make FF rotate in the right direction */
    transform: translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg); 
  } 50.1% {
    transform: translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg); 
  } 75% {
    transform: translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(0.6);
  } 100% {
    transform: rotate(-360deg); 
  }
}