#logo {
    width: 628px;
    height: 278px;
    transform: perspective(560px);
    transform-style: preserve-3d;
}

#left,
#right,
#part1,
#part2,
#part3,
#part4 {
    display: block;
    float: left;
    height: 100%;
    box-sizing: border-box;
    outline: 1px solid transparent;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out;
}

#left,
#right {
    width: 50%;
    transform-style: preserve-3d;
}

#left { transform-origin: right; }
#right { transform-origin: left; }

#part1,
#part2,
#part3,
#part4 {
    background: rgb(217,0,0);
    backface-visibility: hidden;
}

#part1 {
    width: 25%;
    transform-origin: right;
    clip-path: polygon(100% 0%, 0% 0%, 100% 50%, 0% 100%, 100% 100%);
}

#part2 { width: 75%; }

#part3 { width: 75%; }

#part4 {
    width: 25%;
    transform-origin: left;
    clip-path: polygon(0% 0%, 100% 0%, 0% 50%, 100% 100%, 0% 100%);
}

#logo.animate #left,
#logo.animate #right,
#logo.animate #part1,
#logo.animate #part2,
#logo.animate #part3,
#logo.animate #part4 { animation-delay: 1s; }

#logo.animate #left { animation-name: left; }
#logo.animate #right { animation-name: right; }
#logo.animate #part1 { animation-name: part1; }
#logo.animate #part2 { animation-name: part2; }
#logo.animate #part3 { animation-name: part3; }
#logo.animate #part4 { animation-name: part4; }

@keyframes left {
    0% { transform: rotateY(0deg); }
    50% {
        transform: rotateY(76deg);
    }
    100% {
        transform: rotateY(76deg);
    }
}

@keyframes right {
    0% { transform: rotateY(0deg); }
    50% {
        transform: rotateY(-76deg);
    }
    100% {
        transform: rotateY(-76deg);
    }
}

@keyframes part1 {
    50% {
        background: rgb(255,0,0);
        transform: rotateY(0deg);
    }
    100% {
        background: rgb(217,0,0);
        transform: rotateY(-76deg);
    }
}

@keyframes part2 {
    50% {
        background: rgb(255,0,0);
    }
    100% {
        background: rgb(255,0,0);
    }
}

@keyframes part3 {
    50% {
        background: rgb(178,0,0);
    }
    100% {
        background: rgb(178,0,0);
    }
}

@keyframes part4 {
    50% {
        background: rgb(178,0,0);
        transform: rotateY(0deg);
    }
    100% {
        background: rgb(217,0,0);
        transform: rotateY(76deg);
    }
}

#shadow-left,
#shadow-left:before,
#shadow-left:after {
    position: absolute;
}