code: function convertToPx(el, prop, value) {
          if (!isNaN(Number(value))) {
            return Number(value);
          } else if (/^\d+(\.\d+)?%$/.test(value)) {
            return percent_px(el, prop, value);
          } else if (value.match(/(vh|vw)/)) {
            var dimension = value.replace(/[0-9]/g, '');
            return relative_px(dimension, value);
          }
  
          // Converts vw or vh to PX
          function relative_px(type, value) {
            var w = window,
              d = document,
              e = d.documentElement,
              g = d.body,
              x = w.innerWidth || e.clientWidth || g.clientWidth,
              y = w.innerHeight || e.clientHeight || g.clientHeight;
  
            if (type === 'vw') {
              return (x * parseFloat(value)) / 100;
            } else if (type === 'vh') {
              return (y * parseFloat(value)) / 100;
            } else {
              return undefined;
            }
          }
  
          // Converts % to PX
          function percent_px(el, prop, percent) {
            var parent_width = Embedo.utils.compute(el.parentNode, prop, true);
            percent = parseFloat(percent);
            return parent_width * (percent / 100);
          }
        }
docs: @method convertToPx
  Calculates approximate pixel value for vw, vh or % values
  
  @implements relative_px
  @implements percent_px