* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.banner {
    width: 300px;
    height: 250px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.wrap-cube {
    perspective: 1400px;
}

.cube {
    position: relative;
    width: 280px;
    height: 230px;
    margin: 10px 0 0 10px;
    transform-origin: 50% 50%;
    transform-style: preserve-3d;
    transform: translateZ(-140px);
}

.cube__side {
    width: 280px;
    height: 230px;
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: 50% 50%;
    background-color: #fff;
}

.cube__img {
    width: 100%;
    height: 100%;
}

.cube__side-1 {
    transform: rotateY(0deg) translateZ(140px);
}

.cube__side-2 {
    transform: rotateY(-90deg) translateZ(140px);
}

.cube__side-3 {
    transform: rotateY(-180deg) translateZ(140px);
}

.cube__side-4 {
    transform: rotateY(-270deg) translateZ(140px);
}

@keyframes rotateCube {
    0% {
        transform: rotateY(0deg);
    }
    100% {
        transform: rotateY(360deg);
    }
}
