.d-container {
    margin: 150px auto;
    width: 300px;
    height: 300px;
    position: relative;
    perspective: 1000px;
}

.d-cube {
    width: 100%;
    height: 100%;
    position: absolute;
    transform-style: preserve-3d;
    transform: translateZ(-150px) rotateY(0deg);
    animation: cube 12s infinite ease-in-out;
}

.d-cube:hover {
    animation-play-state: paused;
}

.d-cube figure {
    width: 100%;
    height: 100%;
    margin: 0;
    position: absolute;
    backface-visibility: hidden;
}

.d-cube figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
}

figure:nth-child(1) {
    transform: rotateY(0deg) translateZ(150px);
}

figure:nth-child(2) {
    transform: rotateX(180deg) translateZ(150px);
}

figure:nth-child(3) {
    transform: rotateY(90deg) translateZ(150px);
}

figure:nth-child(4) {
    transform: rotateY(-90deg) translateZ(150px);
}

figure:nth-child(5) {
    transform: rotateX(90deg) translateZ(150px);
}

figure:nth-child(6) {
    transform: rotateX(-90deg) translateZ(150px);
}

@keyframes cube {
    0% {
        transform: translateZ(-150px) rotateY(0deg);
    }

    16.66% {
        transform: translateZ(-150px) rotateX(-180deg);
    }

    33.32% {
        transform: translateZ(-150px) rotateY(-90deg);
    }

    50% {
        transform: translateZ(-150px) rotateY(90deg);
    }

    66.66% {
        transform: translateZ(-150px) rotateX(-90deg);
    }

    83.32% {
        transform: translateZ(-150px) rotateX(90deg);
    }

    100% {
        transform: translateZ(-150px) rotateY(0deg);
    }
}