code: function stick(progress) {
    var element = this.element;
    var currentState = element._currentState || null; // store prop on element
  
    if (progress <= 0) {
      setState(element, 'normal');
    } else if (progress >= 1) {
      setState(element, 'bottom');
    } else {
      setState(element, 'sticky');
    }
  
    function setState(element, state) {
      if (currentState === state) { return; }
      if (state == 'sticky') {
        var BCR = element.getBoundingClientRect();
  
        element.style.top = BCR.top + 'px';
        element.style.left = BCR.left + 'px';
        element.style.width = BCR.width + 'px';
      } else {
        element.style.top = '';
        element.style.left = '';
        element.style.width = '';
      }
  
      element.classList.remove(currentState);
      element.classList.add(state);
      element._currentState = state;
    }
  }
docs: Sticky Element: sets up a sticky element which toggles position 'fixed' on / off.
  @param {Float} progress: Current progress data of the scene, between 0 and 1.
  @this {Object}
  @return {void}