/* Preloader Rubix Cube */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader.rubix-cube {
  position: relative;
  width: 80px;
  height: 80px;
  transform: rotateZ(45deg);
}

.loader.rubix-cube .layer {
  position: absolute;
  width: 33.33%;
  height: 33.33%;
  background-color: #1074a8; /* Warna utama */
  animation: rubix-cube-animation 2s infinite ease-in-out;
}

.loader.rubix-cube .layer-1 { top: 0; left: 0; animation-delay: 0s; }
.loader.rubix-cube .layer-2 { top: 0; left: 33.33%; animation-delay: 0.1s; }
.loader.rubix-cube .layer-3 { top: 0; left: 66.66%; animation-delay: 0.2s; }
.loader.rubix-cube .layer-4 { top: 33.33%; left: 0; animation-delay: 0.1s; }
.loader.rubix-cube .layer-5 { top: 33.33%; left: 33.33%; animation-delay: 0.2s; }
.loader.rubix-cube .layer-6 { top: 33.33%; left: 66.66%; animation-delay: 0.3s; }
.loader.rubix-cube .layer-7 { top: 66.66%; left: 0; animation-delay: 0.2s; }
.loader.rubix-cube .layer-8 { top: 66.66%; left: 33.33%; animation-delay: 0.3s; }
.loader.rubix-cube .layer-9 { top: 66.66%; left: 66.66%; animation-delay: 0.4s; }

@keyframes rubix-cube-animation {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(0.5); opacity: 0.5; }
}

/* Warna berbeda untuk beberapa layer */
.loader.rubix-cube .color-1 { background-color: #e8c257; }