on() {
        var w = this.getBoundingClientRect().width;

        if (w < this.s) { this._setSize('xs'); }
        else if (w < this.m) { this._setSize('s'); }
        else if (w < this.l) { this._setSize('m'); }
        else if (w < this.xl) { this._setSize('l'); }
        else { this._setSize('xl'); }
      }
    });

    var _debounce = function(func, wait, immediate) {
    	var timeout;
    	return function() {
    		var context = this, args = arguments;
    		var later = function() {
    			timeout =