code: function( el, idx ) {
              var data = el.dataset,
                  step = {
                      translate: {
                          x: lib.util.toNumber( data.x ),
                          y: lib.util.toNumber( data.y ),
                          z: lib.util.toNumber( data.z )
                      },
                      rotate: {
                          x: lib.util.toNumber( data.rotateX ),
                          y: lib.util.toNumber( data.rotateY ),
                          z: lib.util.toNumber( data.rotateZ || data.rotate ),
                          order: validateOrder( data.rotateOrder )
                      },
                      scale: lib.util.toNumber( data.scale, 1 ),
                      transitionDuration: lib.util.toNumber(
                          data.transitionDuration, config.transitionDuration
                      ),
                      el: el
                  };
  
              if ( !el.id ) {
                  el.id = "step-" + ( idx + 1 );
              }
  
              stepsData[ "impress-" + el.id ] = step;
  
              css( el, {
                  position: "absolute",
                  transform: "translate(-50%,-50%)" +
                             translate( step.translate ) +
                             rotate( step.rotate ) +
                             scale( step.scale ),
                  transformStyle: "preserve-3d"
              } );
          }
docs: `initStep` initializes given step element by reading data from its data attributes and setting correct styles.