
/*
  椭圆会使内部失真    transform: rotateX(50deg);
*/
.rotation3D{
    position: relative; width: 800px; height: 600px;  user-select: none;
    margin: 0 auto;
    /* border: 1px solid white; border-radius: 100%; */
    /* cursor: move; */
}
.rotation3D .center{
    display: none;
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}

.rotation3D .itemList{ position: absolute; width: 100%; height: 100%; z-index: 20; }
.rotation3D .lineList{
    position: absolute; width: 100%; height: 100%; z-index: 10;
    transform-style: preserve-3d;
}

/*---------------------------点样式---------------------------*/
.rotation3D__item{
    position: absolute; display: block; width: 161px; height: 188px;
    text-align: center; line-height: 30px; font-size: 16px; color: white;
    /*background: #2292ef; border-radius: 4px;*/
    /*cursor: pointer; */
}
.rotation3D__item .scale{ position: absolute; top: 0; width: 100%; height: 100%; }
.rotation3D__item .cont{ position: relative; z-index: 2; }
.rotation3D__item .cont .iconfont { font-size: 28px; margin-top: 30px; margin-bottom: 96px; display: block; height: 35px;}
.rotation3D__item .cont p{ color: #101010; }
.lineList .rotation3D__line:nth-child(5n+0) .dot{
}
.lineList .rotation3D__line:nth-child(5n+1) .dot{
  animation-delay: 1s;
}
.lineList .rotation3D__line:nth-child(5n+2) .dot{
  animation-delay: 3s;
}
.lineList .rotation3D__line:nth-child(5n+3) .dot{
  animation-delay: 2s;
}
.lineList .rotation3D__line:nth-child(5n+3) .dot{
  animation-delay: 4s;
}
.rotation3D__item.blue{ color: #01e9fc; }
.rotation3D__item.green{ color: #b4b3ca; }
.rotation3D__item.yellow{ color: #ffd200; }

/*底座*/
.rotation3D__item .baseImg{ position: absolute; width: 100%; height: 100%; z-index: 1; }
.rotation3D__item.blue .baseImg{ background: url("img/idc-red.png"); }
.rotation3D__item.green .baseImg{ background: url("img/idc-green.png"); }
.rotation3D__item.yellow .baseImg{ background: url("img/idc-yellow.png"); }

/*---------------------------
    线样式
    线高为总高的一般
---------------------------*/
.rotation3D__line{
    position: absolute; left: 50%; top: 50%;
    display: block; 
    width: 30px; 
    height: 50%;
    padding-top: 60px; color: #fff; font-size: 50px;
    /*background: #fff;*/
    /*原点设置在中间*/
    transform-origin: 50% 0;
    transform-style: preserve-3d;
    overflow: hidden;
  }
.rotation3D__line .pos{ position: absolute; top: 0; left: 15px;}
.rotation3D__line svg { position: absolute; top: 0; }
.rotation3D__line svg path {
    stroke: #fff; fill: none;
    stroke-width: 2;
    animation: path-animation 100s linear 0s infinite normal;
}
@keyframes path-animation {
    0% { stroke-dashoffset:500; }
    100% { stroke-dashoffset:0; }
}
.rotation3D__line .dot {
    position: absolute; top: 0; left: 0; text-align: center;
    /*width: 35px; height: 35px; font-size: 35px; */
    width: 19px; height: 19px; font-size: 19px;
}
.rotation3D__line .dot1,.rotation3D__line .dot3,.rotation3D__line .dot4{
    animation: svg-path-animation 6s ease-in-out 0s infinite normal;
}
.rotation3D__line .dot1{
    offset-path: path("M0 400, 0 0"); offset-distance: 0%;
}
.rotation3D__line .dot2{
    offset-path: path("M0 200, 0 0"); offset-distance: 0%;
    background: #ffd200; border-radius: 100%;
    font-size: 22px; color: #000;
}
.rotation3D__line .dot3{
    offset-path: path("M20 400 S 0 200, 20 0"); offset-distance: 0%;
}
.rotation3D__line .dot4{
    position: relative;
    offset-path: path("M20 0 S 40 200, 20 400"); offset-distance: 0%;
}
@keyframes svg-path-animation {
    from {offset-distance: 100%;}
    to {offset-distance: 0%;}
}
.dot1 > span{
    position: absolute;
    font-size: 12px;
    color: #888;
    transform:scale(0.80);
    transform-origin:left;
    white-space: nowrap;
  }

/*颜色*/
.rotation3D__line.blue { color: #07b2f9; }
.rotation3D__line.green { color: #ac94ee; }
.rotation3D__line.yellow { color: #ffd500; }

.rotation3D__line.blue svg path { stroke: #07b2f9; }
.rotation3D__line.green svg path { stroke: #ac94ee; }
.rotation3D__line.yellow svg path { stroke: #ffd500; }