code: function screenSize() {
          // remove earlier sizes
          html.className = html.className.replace(/ (w-|eq-|gt-|gte-|lt-|lte-|portrait|no-portrait|landscape|no-landscape)\d+/g, "");
  
          // Viewport width
          var iw = win.innerWidth || html.clientWidth,
              ow = win.outerWidth || win.screen.width;
  
          api.screen.innerWidth = iw;
          api.screen.outerWidth = ow;
  
          // for debugging purposes, not really useful for anything else
          pushClass("w-" + iw);
  
          each(conf.screens, function(width) {
              if (iw > width) {
                  if (conf.screensCss.gt) {
                      pushClass("gt-" + width);
                  }
  
                  if (conf.screensCss.gte) {
                      pushClass("gte-" + width);
                  }
              } else if (iw < width) {
                  if (conf.screensCss.lt) {
                      pushClass("lt-" + width);
                  }
  
                  if (conf.screensCss.lte) {
                      pushClass("lte-" + width);
                  }
              } else if (iw === width) {
                  if (conf.screensCss.lte) {
                      pushClass("lte-" + width);
                  }
  
                  if (conf.screensCss.eq) {
                      pushClass("e-q" + width);
                  }
  
                  if (conf.screensCss.gte) {
                      pushClass("gte-" + width);
                  }
              }
          });
  
          // Viewport height
          var ih = win.innerHeight || html.clientHeight,
              oh = win.outerHeight || win.screen.height;
  
          api.screen.innerHeight = ih;
          api.screen.outerHeight = oh;
  
          // no need for onChange event to detect this
          api.feature("portrait" , (ih > iw));
          api.feature("landscape", (ih < iw));
      }
docs: viewport resolutions: w-100, lt-480, lt-1024 ...