diff --git a/Gemfile b/Gemfile index 368e892..d31f62a 100644 --- a/Gemfile +++ b/Gemfile @@ -18,15 +18,16 @@ gem 'mongoid_slug', github: 'digitalplaywright/mongoid-slug' gem 'carrierwave' gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid' gem 'mongoid-grid_fs', github: 'ahoward/mongoid-grid_fs' - -gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails', - :github => 'anjlab/bootstrap-rails', - :branch => '3.0.0' - -gem "font-awesome-rails", github: "bokmann/font-awesome-rails" +# gem "font-awesome-rails", github: "bokmann/font-awesome-rails" gem 'rmagick' # Use SCSS for stylesheets gem 'sass-rails', '~> 4.0.0' +gem 'bootstrap-sass', '3.1.1' + +# Use Placeholdit +gem 'placeholdit' + +gem "nested_form" # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' diff --git a/Gemfile.lock b/Gemfile.lock index e9dd1c6..9c88ff4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,22 +12,6 @@ GIT mime-types (~> 1.19) mongoid (>= 3.0, < 5.0) -GIT - remote: git://github.com/anjlab/bootstrap-rails.git - revision: addb7143365f97f938e3bdbb2ccfc52591230eda - branch: 3.0.0 - specs: - anjlab-bootstrap-rails (3.0.0.rc2) - railties (>= 3.0) - sass (>= 3.2) - -GIT - remote: git://github.com/bokmann/font-awesome-rails.git - revision: 24ad375ed3db511c84310085889b2cbf0f650420 - specs: - font-awesome-rails (4.0.3.0) - railties (>= 3.2, < 5.0) - GIT remote: git://github.com/digitalplaywright/mongoid-slug.git revision: fb929a5d5b2a580fed367c6cd25772ce9e92e80a @@ -76,6 +60,8 @@ GEM arel (4.0.1) atomic (1.1.14) bcrypt-ruby (3.1.2) + bootstrap-sass (3.1.1.0) + sass (~> 3.2) bson (2.0.0) bson_ext (1.5.1) builder (3.1.4) @@ -140,9 +126,11 @@ GEM multi_json (1.8.2) multi_xml (0.5.5) multipart-post (1.2.0) + nested_form (0.3.2) optionable (0.2.0) origin (2.0.0) orm_adapter (0.5.0) + placeholdit (0.0.3) polyglot (0.3.3) puma (2.7.1) rack (>= 1.1, < 2.0) @@ -206,14 +194,13 @@ PLATFORMS ruby DEPENDENCIES - anjlab-bootstrap-rails! + bootstrap-sass (= 3.1.1) bson_ext cancan carrierwave carrierwave-mongoid coffee-rails (~> 4.0.0) devise - font-awesome-rails! httparty jbuilder (~> 1.2) jquery-rails @@ -221,6 +208,8 @@ DEPENDENCIES mongoid-elasticsearch mongoid-grid_fs! mongoid_slug! + nested_form + placeholdit puma rack-cors rails (= 4.0.2) diff --git a/app/assets/fonts/FontAwesome.otf b/app/assets/fonts/FontAwesome.otf new file mode 100644 index 0000000..64049bf Binary files /dev/null and b/app/assets/fonts/FontAwesome.otf differ diff --git a/app/assets/fonts/entypo.dev.svg b/app/assets/fonts/entypo.dev.svg new file mode 100644 index 0000000..5566ca5 --- /dev/null +++ b/app/assets/fonts/entypo.dev.svg @@ -0,0 +1,980 @@ + + + + +This is a custom SVG font generated by IcoMoon. +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/fonts/entypo.eot b/app/assets/fonts/entypo.eot new file mode 100644 index 0000000..8633c77 Binary files /dev/null and b/app/assets/fonts/entypo.eot differ diff --git a/app/assets/fonts/entypo.svg b/app/assets/fonts/entypo.svg new file mode 100644 index 0000000..cc9143e --- /dev/null +++ b/app/assets/fonts/entypo.svg @@ -0,0 +1,980 @@ + + + + +This is a custom SVG font generated by IcoMoon. +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/fonts/entypo.ttf b/app/assets/fonts/entypo.ttf new file mode 100644 index 0000000..3656070 Binary files /dev/null and b/app/assets/fonts/entypo.ttf differ diff --git a/app/assets/fonts/entypo.woff b/app/assets/fonts/entypo.woff new file mode 100644 index 0000000..97980df Binary files /dev/null and b/app/assets/fonts/entypo.woff differ diff --git a/app/assets/fonts/fontawesome-webfont.eot b/app/assets/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..11d2f41 Binary files /dev/null and b/app/assets/fonts/fontawesome-webfont.eot differ diff --git a/app/assets/fonts/fontawesome-webfont.ttf b/app/assets/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..88ef262 Binary files /dev/null and b/app/assets/fonts/fontawesome-webfont.ttf differ diff --git a/app/assets/fonts/fontawesome-webfont.woff b/app/assets/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..7e892f8 Binary files /dev/null and b/app/assets/fonts/fontawesome-webfont.woff differ diff --git a/app/assets/images/bg_pattern.png b/app/assets/images/bg_pattern.png new file mode 100644 index 0000000..f91f27d Binary files /dev/null and b/app/assets/images/bg_pattern.png differ diff --git a/app/assets/images/bg_pattern@2x.png b/app/assets/images/bg_pattern@2x.png new file mode 100644 index 0000000..a89173e Binary files /dev/null and b/app/assets/images/bg_pattern@2x.png differ diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico new file mode 100644 index 0000000..1e64b7e Binary files /dev/null and b/app/assets/images/favicon.ico differ diff --git a/app/assets/images/orbit-logo.png b/app/assets/images/orbit-logo.png index 5083d81..cf89499 100644 Binary files a/app/assets/images/orbit-logo.png and b/app/assets/images/orbit-logo.png differ diff --git a/app/assets/images/orbit-logo.svg b/app/assets/images/orbit-logo.svg new file mode 100644 index 0000000..d68f767 --- /dev/null +++ b/app/assets/images/orbit-logo.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/app/assets/images/ruling-logo.png b/app/assets/images/ruling-logo.png new file mode 100644 index 0000000..3239e52 Binary files /dev/null and b/app/assets/images/ruling-logo.png differ diff --git a/app/assets/images/ruling-logo.svg b/app/assets/images/ruling-logo.svg new file mode 100644 index 0000000..fa573f0 --- /dev/null +++ b/app/assets/images/ruling-logo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 3885622..614c99d 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -12,6 +12,7 @@ // //= require jquery //= require jquery_ujs -//= require twitter/bootstrap +//= require bootstrap +//= require jquery_nested_form //= require turbolinks //= require_tree . diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js new file mode 100644 index 0000000..bd71e0e --- /dev/null +++ b/app/assets/javascripts/main.js @@ -0,0 +1,6 @@ +//= require jquery +//= require jquery_ujs +//= require bootstrap +//= require turbolinks +//= require plugin/app +//= require plugin/jquery.lite.image.resize diff --git a/app/assets/javascripts/plugin/app.js b/app/assets/javascripts/plugin/app.js new file mode 100644 index 0000000..3b5b7d7 --- /dev/null +++ b/app/assets/javascripts/plugin/app.js @@ -0,0 +1,32 @@ +$(function() { + details_ShowMore = function () { + var _h = 0; + $('.text-body').each(function() { + $(this).children('*').each(function() { + _h += $(this).outerHeight(true); + }); + _h > $(this).outerHeight(true) ? $(this).siblings('.more-details').show() : ''; + }); + $('.details-section').on('click', '.more-details', function(e) { + $(this).closest('.details-section').addClass('open'); + e.preventDefault(); + }); + }; + details_screenshots = function() { + var _imgSrc = [], + $screenshotsView = $('
'); + $('.screenshots-list img').each(function(i) { + i == 0 ? $(this).closest('.screenshots-img').addClass('active') : ''; + _imgSrc.push($(this).attr('src')); + }); + $('.screenshots-list').on('click', '.screenshots-img', function() { + $(this).addClass('active').siblings().removeClass('active'); + $('.screenshots-view img').addClass('hide').eq($(this).index()).removeClass('hide'); + }); + $.map(_imgSrc, function(v, i) { + $screenshotsView.append(''); + }) + $('.screenshots-groups').prepend($screenshotsView); + }; + details_screenshots(); +}) \ No newline at end of file diff --git a/app/assets/javascripts/plugin/domReady.js b/app/assets/javascripts/plugin/domReady.js new file mode 100644 index 0000000..2b54122 --- /dev/null +++ b/app/assets/javascripts/plugin/domReady.js @@ -0,0 +1,129 @@ +/** + * @license RequireJS domReady 2.0.1 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/requirejs/domReady for details + */ +/*jslint */ +/*global require: false, define: false, requirejs: false, + window: false, clearInterval: false, document: false, + self: false, setInterval: false */ + + +define(function () { + 'use strict'; + + var isTop, testDiv, scrollIntervalId, + isBrowser = typeof window !== "undefined" && window.document, + isPageLoaded = !isBrowser, + doc = isBrowser ? document : null, + readyCalls = []; + + function runCallbacks(callbacks) { + var i; + for (i = 0; i < callbacks.length; i += 1) { + callbacks[i](doc); + } + } + + function callReady() { + var callbacks = readyCalls; + + if (isPageLoaded) { + //Call the DOM ready callbacks + if (callbacks.length) { + readyCalls = []; + runCallbacks(callbacks); + } + } + } + + /** + * Sets the page as loaded. + */ + function pageLoaded() { + if (!isPageLoaded) { + isPageLoaded = true; + if (scrollIntervalId) { + clearInterval(scrollIntervalId); + } + + callReady(); + } + } + + if (isBrowser) { + if (document.addEventListener) { + //Standards. Hooray! Assumption here that if standards based, + //it knows about DOMContentLoaded. + document.addEventListener("DOMContentLoaded", pageLoaded, false); + window.addEventListener("load", pageLoaded, false); + } else if (window.attachEvent) { + window.attachEvent("onload", pageLoaded); + + testDiv = document.createElement('div'); + try { + isTop = window.frameElement === null; + } catch (e) {} + + //DOMContentLoaded approximation that uses a doScroll, as found by + //Diego Perini: http://javascript.nwbox.com/IEContentLoaded/, + //but modified by other contributors, including jdalton + if (testDiv.doScroll && isTop && window.external) { + scrollIntervalId = setInterval(function () { + try { + testDiv.doScroll(); + pageLoaded(); + } catch (e) {} + }, 30); + } + } + + //Check if document already complete, and if so, just trigger page load + //listeners. Latest webkit browsers also use "interactive", and + //will fire the onDOMContentLoaded before "interactive" but not after + //entering "interactive" or "complete". More details: + //http://dev.w3.org/html5/spec/the-end.html#the-end + //http://stackoverflow.com/questions/3665561/document-readystate-of-interactive-vs-ondomcontentloaded + //Hmm, this is more complicated on further use, see "firing too early" + //bug: https://github.com/requirejs/domReady/issues/1 + //so removing the || document.readyState === "interactive" test. + //There is still a window.onload binding that should get fired if + //DOMContentLoaded is missed. + if (document.readyState === "complete") { + pageLoaded(); + } + } + + /** START OF PUBLIC API **/ + + /** + * Registers a callback for DOM ready. If DOM is already ready, the + * callback is called immediately. + * @param {Function} callback + */ + function domReady(callback) { + if (isPageLoaded) { + callback(doc); + } else { + readyCalls.push(callback); + } + return domReady; + } + + domReady.version = '2.0.1'; + + /** + * Loader Plugin API method + */ + domReady.load = function (name, req, onLoad, config) { + if (config.isBuild) { + onLoad(null); + } else { + domReady(onLoad); + } + }; + + /** END OF PUBLIC API **/ + + return domReady; +}); diff --git a/app/assets/javascripts/plugin/html5shiv.js b/app/assets/javascripts/plugin/html5shiv.js new file mode 100755 index 0000000..448cebd --- /dev/null +++ b/app/assets/javascripts/plugin/html5shiv.js @@ -0,0 +1,8 @@ +/* + HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); +a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); +if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d + * + *
+ * + * Or you can use: + * $('your class').rsImg(); + * + * Note : HTML structure must be a structure like the example above. + * +*/ + +!function ($) { + + "use strict"; + var ResizeImg = function(element) { + var _oldW = [], + _timer = 0, + $self = this; + $self.element = element; + $self.element.data('exists', true); + $self.element.css({ + 'position': 'relative', + 'overflow': 'hidden', + }); + $self.element.each(function(index, el) { + _oldW.push($(el).innerWidth()); + $self.resize($(el), $(el).find('img').eq(0)); + }); + + function windowResize() { + clearTimeout(_timer); + _timer = setTimeout(function() { + $self.element.each(function(i, el) { + if(_oldW[i] != $(this).innerWidth()) { + _oldW[i] = $(this).innerWidth(); + $self.resize($(el), $(el).find('img').eq(0)); + } + }); + }, 500); + } + window.onresize = windowResize; + } + ResizeImg.prototype.resize = function(element, img) { + var _imgW, _imgH, _imgScale, + _elW = element.innerWidth(), + _elH = element.innerHeight(), + _elScale = _elW/_elH, + $image = document.createElement("img"); + + img.removeAttr('style'); + $image.src = img.attr('src'); + $image.onload = function() { + _imgW = $image.width, + _imgH = $image.height, + _imgScale = _imgW/_imgH; + + if(_imgScale < 1) { + if(_elScale < 1) { + if(_elScale > _imgScale) { + img.css(scale().landscape); + } else { + img.css(scale().portrait); + }; + } else { + img.css(scale().landscape); + }; + }; + + if(_imgScale > 1) { + if(_elScale > 1) { + if(_elScale > _imgScale) { + img.css(scale().landscape); + } else { + img.css(scale().portrait); + }; + } else { + img.css(scale().portrait); + }; + }; + + if(_imgScale == 1) { + if(_elScale < 1) { + img.css(scale().portrait); + } else if(_elScale > 1) { + img.css(scale().landscape); + } else { + img.css(scale().center); + }; + }; + img.fadeTo(500, 1); + } + + function scale() { + return { + portrait: { + 'position': 'absolute', + 'height': '100%', + 'width': 'auto', + 'max-width': 'none', + 'left': '50%', + 'top': 0, + 'margin-left': _imgW*(_elH/_imgH)/-2 + }, + landscape: { + 'position': 'absolute', + 'height': 'auto', + 'max-height': 'none', + 'width': '100%', + 'left': 0, + 'top': '50%', + 'margin-top': _imgH*(_elW/_imgW)/-2 + }, + center: { + 'position': 'absolute', + 'height': '100%', + 'width': '100%', + 'top': 0, + 'left': 0 + } + } + } + } + $.fn.rsImg = function () { + var $this = $(this), resizeImg; + if(!$this.data('exists')) { + $this.find('img').fadeTo(1, 0); + resizeImg = new ResizeImg($this); + } + }; + + $(function() { + $('.resizeimg').rsImg(); + }); +}(window.jQuery); diff --git a/app/assets/javascripts/plugin/response.min.js b/app/assets/javascripts/plugin/response.min.js new file mode 100644 index 0000000..431dac0 --- /dev/null +++ b/app/assets/javascripts/plugin/response.min.js @@ -0,0 +1,8 @@ +/*! + * @link http://responsejs.com + * @link http://github.com/ryanve/response.js + * @copyright 2014 Ryan Van Etten + * @license MIT + * @version 0.7.10 + */ +!function(a,b,c){var d=a.jQuery||a.Zepto||a.ender||a.elo;"undefined"!=typeof module&&module.exports?module.exports=c(d):a[b]=c(d)}(this,"Response",function(a){function b(a){throw new TypeError(a?U+"."+a:U)}function c(a){return"number"==typeof a&&a===a}function d(a,b,c){var d,e=a.length,f=[];for(d=0;e>d;d++)f[d]=b.call(c,a[d],d,a);return f}function e(a){return"string"==typeof a?h(a.split(" ")):hb(a)?h(a):[]}function f(a,b,c){if(null==a)return a;for(var d=0,e=a.length;e>d;)b.call(c||a[d],a[d],d++,a);return a}function g(a,b,c){var d,e=[],f=a.length,g=0;for(b=b||"",c=c||"";f>g;)d=a[g++],null==d||e.push(b+d+c);return e}function h(a,b,c){var d,e,f,g=0,h=0,i=[],j="function"==typeof b;if(!a)return i;for(c=(f=!0===c)?null:c,d=a.length;d>h;h++)e=a[h],f===!(j?b.call(c,e,h,a):b?typeof e===b:e)&&(i[g++]=e);return i}function i(a,b){var d,e;if(!a||!b)return a;if("function"!=typeof b&&c(e=b.length)){for(d=0;e>d;d++)void 0===b[d]||(a[d]=b[d]);a.length>d||(a.length=d)}else for(d in b)gb.call(b,d)&&void 0!==b[d]&&(a[d]=b[d]);return a}function j(a,b,d){return null==a?a:("object"==typeof a&&!a.nodeType&&c(a.length)?f(a,b,d):b.call(d||a,a),a)}function k(a){return function(b,c){var d=a();return b=d>=(b||0),c?b&&c>=d:b}}function l(a){var b=X.devicePixelRatio;return null==a?b||(l(2)?2:l(1.5)?1.5:l(1)?1:0):isFinite(a)?b&&b>0?b>=a:(a="only all and (min--moz-device-pixel-ratio:"+a+")",Db(a).matches?!0:!!Db(a.replace("-moz-","")).matches):!1}function m(a){return a.replace(yb,"$1").replace(xb,function(a,b){return b.toUpperCase()})}function n(a){return"data-"+(a?a.replace(yb,"$1").replace(wb,"$1-$2").toLowerCase():a)}function o(a){var b;return a&&"string"==typeof a?"true"===a?!0:"false"===a?!1:"undefined"===a?b:"null"===a?null:(b=parseFloat(a))===+b?b:a:a}function p(a){return a?1===a.nodeType?a:a[0]&&1===a[0].nodeType?a[0]:!1:!1}function q(a,b){var c,d=arguments.length,e=p(this),g={},h=!1;if(d){if(hb(a)&&(h=!0,a=a[0]),"string"==typeof a){if(a=n(a),1===d)return g=e.getAttribute(a),h?o(g):g;if(this===e||2>(c=this.length||1))e.setAttribute(a,b);else for(;c--;)c in this&&q.apply(this[c],arguments)}else if(a instanceof Object)for(c in a)a.hasOwnProperty(c)&&q.call(this,c,a[c]);return this}return e.dataset&&DOMStringMap?e.dataset:(f(e.attributes,function(a){a&&(c=String(a.name).match(yb))&&(g[m(c[1])]=a.value)}),g)}function r(a){return this&&"string"==typeof a&&(a=e(a),j(this,function(b){f(a,function(a){a&&b.removeAttribute(n(a))})})),this}function s(a){return q.apply(a,db.call(arguments,1))}function t(a,b){return r.call(a,b)}function u(a){for(var b,c=[],d=0,e=a.length;e>d;)(b=a[d++])&&c.push("["+n(b.replace(vb,"").replace(".","\\."))+"]");return c.join()}function v(b){return a(u(e(b)))}function w(){return window.pageXOffset||Z.scrollLeft}function x(){return window.pageYOffset||Z.scrollTop}function y(a,b){var c=a.getBoundingClientRect?a.getBoundingClientRect():{};return b="number"==typeof b?b||0:0,{top:(c.top||0)-b,left:(c.left||0)-b,bottom:(c.bottom||0)+b,right:(c.right||0)+b}}function z(a,b){var c=y(p(a),b);return!!c&&c.right>=0&&c.left<=Eb()}function A(a,b){var c=y(p(a),b);return!!c&&c.bottom>=0&&c.top<=Fb()}function B(a,b){var c=y(p(a),b);return!!c&&c.bottom>=0&&c.top<=Fb()&&c.right>=0&&c.left<=Eb()}function C(a){var b={img:1,input:1,source:3,embed:3,track:3,iframe:5,audio:5,video:5,script:5},c=b[a.nodeName.toLowerCase()]||-1;return 4>c?c:null!=a.getAttribute("src")?5:-5}function D(a,c,d){var e;return a&&null!=c||b("store"),d="string"==typeof d&&d,j(a,function(a){e=d?a.getAttribute(d):0c)&&G(a,i),j&&(_.on(h,b),d.$e.one(g,function(){_.off(h,b)}))}))}),P}function K(a){return T[U]===P&&(T[U]=V),"function"==typeof a&&a.call(T,P),P}function L(a,b,c){f(["inX","inY","inViewport"],function(d){(c||!b[d])&&(b[d]=function(b,c){return a(h(this,function(a){return!!a&&!c===P[d](a,b)}))})})}function M(a,b){return"function"==typeof a&&a.fn&&((b||void 0===a.fn.dataset)&&(a.fn.dataset=q),(b||void 0===a.fn.deletes)&&(a.fn.deletes=r),L(a,a.fn,b)),P}function N(b,c){return b=arguments.length?b:a,M(b,c)}if("function"!=typeof a)try{console.log("Response was unable to run due to missing dependency.")}catch(O){}var P,Q,R,S,T=this,U="Response",V=T[U],W="init"+U,X=window,Y=document,Z=Y.documentElement,$=a.domReady||a,_=a(X),ab=X.screen,bb=Array.prototype,cb=Object.prototype,db=bb.slice,eb=bb.concat,fb=cb.toString,gb=cb.hasOwnProperty,hb=Array.isArray||function(a){return"[object Array]"===fb.call(a)},ib={width:[0,320,481,641,961,1025,1281],height:[0,481],ratio:[1,1.5,2]},jb={},kb={},lb={},mb={all:[]},nb=1,ob=ab.width,pb=ab.height,qb=ob>pb?ob:pb,rb=ob+pb-qb,sb=function(){return ob},tb=function(){return pb},ub=/[^a-z0-9_\-\.]/gi,vb=/^[\W\s]+|[\W\s]+$|/g,wb=/([a-z])([A-Z])/g,xb=/-(.)/g,yb=/^data-(.+)$/,zb=Object.create||function(a){function b(){}return b.prototype=a,new b},Ab=function(a,b){return b=b||U,a.replace(vb,"")+"."+b.replace(vb,"")},Bb={allLoaded:Ab("allLoaded"),crossover:Ab("crossover")},Cb=X.matchMedia||X.msMatchMedia,Db=Cb||function(){return{}},Eb=Z.clientWidth=a}):o,this.keys=g(this.breakpoints,this.prefix),this.aka=null,m){for(n=[],j=m.length;j--;)n.push(g(this.breakpoints,m[j]));this.aka=n,this.keys=eb.apply(this.keys,n)}return mb.all=mb.all.concat(mb[this.uid]=this.keys),this},target:function(){return this.$e=a(u(mb[this.uid])),D(this.$e,W),this.keys.push(W),this},decideValue:function(){for(var a=null,b=this.breakpoints,c=b.length,d=c;null==a&&d--;)this.fn(b[d])&&(a=this.values[d]);return this.newValue="string"==typeof a?a:this.values[c],this},prepareData:function(b){if(this.$e=a(b),this.mode=C(b),this.values=E(this.$e,this.keys),this.aka)for(var c=this.aka.length;c--;)this.values=i(this.values,E(this.$e,this.aka[c]));return this.decideValue()},updateDOM:function(){return this.currValue===this.newValue?this:(this.currValue=this.newValue,0this.depCount&&!this.defined){if(G(c)){if(this.events.error&&this.map.isDefine||h.onError!==da)try{f=i.execCb(b,c,e,f)}catch(d){a=d}else f=i.execCb(b,c,e,f);this.map.isDefine&&void 0===f&&((e=this.module)?f=e.exports:this.usingExports&& +(f=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",w(this.error=a)}else f=c;this.exports=f;if(this.map.isDefine&&!this.ignore&&(p[b]=f,h.onResourceLoad))h.onResourceLoad(i,this.map,this.depMaps);y(b);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a= +this.map,b=a.id,d=m(a.prefix);this.depMaps.push(d);r(d,"defined",t(this,function(f){var d,g;g=j(ba,this.map.id);var J=this.map.name,u=this.map.parentMap?this.map.parentMap.name:null,p=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(J=f.normalize(J,function(a){return c(a,u,!0)})||""),f=m(a.prefix+"!"+J,this.map.parentMap),r(f,"defined",t(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),g=j(k,f.id)){this.depMaps.push(f); +if(this.events.error)g.on("error",t(this,function(a){this.emit("error",a)}));g.enable()}}else g?(this.map.url=i.nameToUrl(g),this.load()):(d=t(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),d.error=t(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];B(k,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&y(a.map.id)});w(a)}),d.fromText=t(this,function(f,c){var g=a.name,J=m(g),k=O;c&&(f=c);k&&(O=!1);q(J);s(l.config,b)&&(l.config[g]=l.config[b]);try{h.exec(f)}catch(j){return w(C("fromtexteval", +"fromText eval for "+b+" failed: "+j,j,[b]))}k&&(O=!0);this.depMaps.push(J);i.completeLoad(g);p([g],d)}),f.load(a.name,p,d,l))}));i.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){W[this.map.id]=this;this.enabling=this.enabled=!0;v(this.depMaps,t(this,function(a,b){var c,f;if("string"===typeof a){a=m(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=j(K,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;r(a,"defined",t(this,function(a){this.defineDep(b, +a);this.check()}));this.errback&&r(a,"error",t(this,this.errback))}c=a.id;f=k[c];!s(K,c)&&(f&&!f.enabled)&&i.enable(a,this)}));B(this.pluginMaps,t(this,function(a){var b=j(k,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){v(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:l,contextName:b,registry:k,defined:p,urlFetched:T,defQueue:A,Module:$,makeModuleMap:m, +nextTick:h.nextTick,onError:w,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=l.shim,c={paths:!0,bundles:!0,config:!0,map:!0};B(a,function(a,b){c[b]?(l[b]||(l[b]={}),V(l[b],a,!0,!0)):l[b]=a});a.bundles&&B(a.bundles,function(a,b){v(a,function(a){a!==b&&(ba[a]=b)})});a.shim&&(B(a.shim,function(a,c){H(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);b[c]=a}),l.shim=b);a.packages&&v(a.packages,function(a){var b, +a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(l.paths[b]=a.location);l.pkgs[b]=a.name+"/"+(a.main||"main").replace(ja,"").replace(R,"")});B(k,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=m(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ca,arguments));return b||a.exports&&ea(a.exports)}},makeRequire:function(a,e){function g(f,c,d){var j,l;e.enableBuildCallback&&(c&&G(c))&&(c.__requireJsBuild= +!0);if("string"===typeof f){if(G(c))return w(C("requireargs","Invalid require call"),d);if(a&&s(K,f))return K[f](k[a.id]);if(h.get)return h.get(i,f,a,g);j=m(f,a,!1,!0);j=j.id;return!s(p,j)?w(C("notloaded",'Module name "'+j+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):p[j]}M();i.nextTick(function(){M();l=q(m(null,a));l.skipMap=e.skipMap;l.init(f,c,d,{enabled:!0});D()});return g}e=e||{};V(g,{isBrowser:z,toUrl:function(b){var e,d=b.lastIndexOf("."),g=b.split("/")[0];if(-1!== +d&&(!("."===g||".."===g)||1g.attachEvent.toString().indexOf("[native code"))&&!Z?(O=!0,g.attachEvent("onreadystatechange",b.onScriptLoad)): +(g.addEventListener("load",b.onScriptLoad,!1),g.addEventListener("error",b.onScriptError,!1)),g.src=d,M=g,D?y.insertBefore(g,D):y.appendChild(g),M=null,g;if(fa)try{importScripts(d),b.completeLoad(c)}catch(j){b.onError(C("importscripts","importScripts failed for "+c+" at "+d,j,[c]))}};z&&!r.skipDataMain&&U(document.getElementsByTagName("script"),function(b){y||(y=b.parentNode);if(L=b.getAttribute("data-main"))return q=L,r.baseUrl||(E=q.split("/"),q=E.pop(),Q=E.length?E.join("/")+"/":"./",r.baseUrl= +Q),q=q.replace(R,""),h.jsExtRegExp.test(q)&&(q=L),r.deps=r.deps?r.deps.concat(q):[q],!0});define=function(b,c,d){var g,h;"string"!==typeof b&&(d=c,c=b,b=null);H(c)||(d=c,c=null);!c&&G(d)&&(c=[],d.length&&(d.toString().replace(la,"").replace(ma,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(O){if(!(g=M))P&&"interactive"===P.readyState||U(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return P=b}),g=P;g&&(b|| +(b=g.getAttribute("data-requiremodule")),h=F[g.getAttribute("data-requirecontext")])}(h?h.defQueue:S).push([b,c,d])};define.amd={jQuery:!0};h.exec=function(b){return eval(b)};h(r)}})(this); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index f2ea9a9..7929096 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -9,7 +9,6 @@ * compiled file, but it's generally better to create a new file per style scope. * *= require_self - *= require twitter/bootstrap + *= require bootstrap *= require sticky-footer-navbar - *= require_tree . */ diff --git a/app/assets/stylesheets/store_front/_mixin.scss b/app/assets/stylesheets/store_front/_mixin.scss new file mode 100644 index 0000000..bc6e971 --- /dev/null +++ b/app/assets/stylesheets/store_front/_mixin.scss @@ -0,0 +1,79 @@ +// @include; +// Border Radius +@mixin border-radius($top, $right, $bottom, $left) { + -webkit-border-radius: $top $right $bottom $left; + -moz-border-radius: $top $right $bottom $left; + -ms-border-radius: $top $right $bottom $left; + -o-border-radius: $top $right $bottom $left; + border-radius: $top $right $bottom $left; +} +// Box Shadow +@mixin box-shadow($x, $y, $b, $c, $p) { + @if $p == "outset" { + -webkit-box-shadow: $x $y $b $c; + -moz-box-shadow: $x $y $b $c; + box-shadow: $x $y $b $c; + } @else { + -webkit-box-shadow: $x $y $b $c $p; + -moz-box-shadow: $x $y $b $c $p; + box-shadow: $x $y $b $c $p; + } +} +// Transition +@mixin transition($property, $time ,$delay) { + -webkit-transition: $property $time ease $delay; + -moz-transition: $property $time ease $delay; + -ms-transition: $property $time ease $delay; + -o-transition: $property $time ease $delay; + transition: $property $time ease $delay; +} +// Set iCon +@mixin seticon($iconType, $iconCode) { + font-family: $iconType; + content: $iconCode; +} +// Clear Fix +@mixin clearfix { + &:after { + content: ""; + clear: both; + display: table; + height: 0; + } +} +@mixin opacity($vel) { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$vel)"; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=$vel); + opacity: $vel / 100; +} +// Set Triangle +@mixin arrow($d, $w, $h, $c) { + width: 0px; + height: 0px; + border-style: solid; + @if $d == "top" { + border-width: $w $h 0 $h; + border-color: $c transparent transparent transparent; + } @else if $d == "right" { + border-width: $h $w $h 0; + border-color: transparent $c transparent transparent; + } @else if $d == "bottom" { + border-width: 0 $h $w $h; + border-color: transparent transparent $c transparent; + } @else if $d == "left" { + border-width: $h 0 $h $w; + border-color: transparent transparent transparent $c; + } @else if $d == "top-right" { + border-width: 0 $w $h 0; + border-color: transparent $c transparent transparent; + } @else if $d == "top-left" { + border-width: $h $w 0 0; + border-color: $c transparent transparent transparent; + } @else if $d == "bottom-right" { + border-width: 0 0 $h $w; + border-color: transparent transparent $c transparent; + } @else if $d == "bottom-left" { + border-width: $h 0 0 $w; + border-color: transparent transparent transparent $c; + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/store_front/_site-style.scss.erb b/app/assets/stylesheets/store_front/_site-style.scss.erb new file mode 100644 index 0000000..592e148 --- /dev/null +++ b/app/assets/stylesheets/store_front/_site-style.scss.erb @@ -0,0 +1,495 @@ +// Site Globe Style +body { + background: url(<%= asset_path 'bg_pattern.png' %>) 0 0 #ededed; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +// Nav Bar +.nav-bar { + margin-bottom: 0; +} +// Stars +.stars-rank { + .stars-container { + color: #fc602f; + line-height: 1em; + position: relative; + display: inline-block; + float: left; + &:after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + @include seticon("entypo", "\e01c \e01c \e01c \e01c \e01c"); + } + } + .star-rating { + position: relative; + display: inline-block; + overflow: hidden; + z-index: 1; + &:after { + @include seticon("entypo", "\e01b \e01b \e01b \e01b \e01b"); + } + } + .stars-count { + float: left; + color: #898989; + margin-left: 0.5em; + font-size: 0.85em; + } + @include clearfix; +} + +// Header +.header { + height: 350px; + background-color: #fff; + margin-bottom: 3em; + @include box-shadow(0, 2px, .8em, #b3b3b3, outset); +} +// Footer +.footer { + color: #818181; + padding: 2em 0; + margin-top: 4em; + border-top: 1px solid #ddd; + background-color: #FFF; + .footer-links { + h3 { + margin: 0 0 0.5em; + font-size: 1em; + color: #777; + } + ul { + list-style: none; + margin: 0; + padding: 0; + font-size: 0.85em; + } + a { + color: #939393; + &:hover { + color: #747474; + text-decoration: none; + } + } + } + .copyright { + margin-top: 2em; + padding-top: 0.5em; + font-size: 0.85em; + line-height: 32px; + border-top: 1px dotted #c3c3c3; + .logo { + float: right; + display: inline-block; + height: 32px; + width: 32px; + } + .orbit-logo { + margin-right: 1em; + padding-left: 0; + background-position: center center; + background-size: 30px 30px; + } + .ruling-logo { + background-position: center center; + background-repeat: no-repeat; + background-image: url(<%= asset_path 'ruling-logo.svg' %>); + background-image: url(<%= asset_path 'ruling-logo.png' %>)\9; + background-size: 26px 26px; + } + @include clearfix; + } +} +// Top Navigation +.orbit-logo { + color: #FFF!important; + padding-left: 45px; + background-size: 25%; + background-position: left center; + background-repeat: no-repeat; + background-image: url(<%= asset_path 'orbit-logo.svg' %>); + background-image: url(<%= asset_path 'orbit-logo.png' %>)\9; +} + +// Item & Card +.item-list { + background-color: #fff; + @include border-radius(0.5em, 0.5em, 0.5em, 0.5em); + @include box-shadow(0, 0, .8em, #b3b3b3, outset); + @include clearfix; +} +.card-content { + float: left; + border-right: 1px dotted #cfcfcf; + .card-inner { + padding: 1em; + position: relative; + @include clearfix; + } + .cover { + position: relative; + .details-link { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + } + .details { + .item-title { + margin-top: 0; + font-size: 1.2em; + a { + color: #474747; + width: 100%; + display: block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + .developer-title { + @extend .item-title; + font-size: 0.85em; + a { + display: inline; + } + } + .price-container { + margin: 0; + font-size: 0.85em; + display: inline-block; + color: #6C8B1A; + font-weight: 700; + } + } + &.apps { + .cover { + float: left; + margin-right: 1em; + } + .details { + display: inline-block; + width: calc(100% - 100px - 1em); + } + } + &.templates { + .cover { + margin-bottom: 1em; + img { + width: 100%; + height: auto; + } + } + .developer-title { + display: inline-block; + margin-bottom: 0; + } + .price-container { + float: right; + } + } +} +// Heading Title +.heading { + padding: 0.5em 0; + margin: 0 0 0.5em; + // border-bottom: 1px dotted #c3c3c3; + @include clearfix; + .heading-title { + float: left; + color: #515151; + font-size: 1.5em; + text-shadow: 0 1px #FFF; + margin: 0 0.8em 0 0; + } + .more { + line-height: 2.2em; + font-size: 0.85em; + float: left; + a { + color: #8e8e8e; + } + &:after { + color: #8e8e8e; + float: right; + @include seticon("entypo", "\e0d0"); + } + } +} +// Cluster Block +.cluster { + margin-bottom: 3em; + &:last-child { + margin-bottom: 0; + } + .card-content { + @media (max-width: $screen-xs-min) { + width: 100%; + border-right: none; + &:nth-child(n+2) { + border-top: 1px dotted #cfcfcf; + } + } + @media (min-width: $screen-xs-min) and (max-width: $screen-sm-max) { + width: 50%; + &:nth-child(2n) { + border-right: none; + } + &:nth-child(n+3) { + border-top: 1px dotted #cfcfcf; + } + } + @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { + width: 33.333%; + &:nth-child(3n) { + border-right: none; + } + &:nth-child(n+4) { + border-top: 1px dotted #cfcfcf; + } + } + @media (min-width: $screen-lg-min) { + width: 25%; + &:nth-child(4n) { + border-right: none; + } + &:nth-child(n+5) { + border-top: 1px dotted #cfcfcf; + } + } + } +} + +// Sort Bar +.sort-bar { + .navbar-nav { + & > .active { + & > a { + background-color: transparent; + font-weight: 500; + border-bottom: 3px solid #ff9d3f; + padding-bottom: 12px; + } + } + } + .search-icon { + color: #5b5b5b; + font-size: 1.6em; + float: left; + margin-right: 0.3em; + margin-top: 0.2em; + } +} + +.details-wrapper { + margin-top: 2em; + a { + text-decoration: none; + color: #626262; + &:hover { + color: #3b3b3b; + } + } + .details-info { + margin-bottom: 2em; + .cover-container { + float: left; + width: 200px; + img { + width: 100%; + height: auto; + } + } + .info-container { + margin-left: 224px; + .document-title { + color: #313e5a; + text-shadow: 0 1px #FFF; + overflow: overlay; + white-space: nowrap; + text-overflow: ellipsis; + line-height: 1.3em; + margin-top: 0; + padding-bottom: 0.2em; + } + .document-subtitle { + color: #797979; + margin-bottom: 0.8em; + a { + font-weight: bold; + } + .category { + margin-top: 0.5em; + } + } + } + @include clearfix; + } + .document-bottom { + .report-problem { + float: right; + } + @include clearfix; + } + .details-section { + margin-top: 2em; + .text-body { + max-height: 8em; + overflow: hidden; + } + .more-details { + display: none; + padding-top: 0.3em; + text-align: right; + a { + color: #4b89d0; + } + } + &.open { + .text-body { + max-height: none; + overflow: auto; + } + .more-details { + display: none !important; + } + } + } + .screenshots { + .screenshots-groups { + background-color: #fff; + padding: 1em 1em 0; + @include box-shadow(0, 0, .8em, #b3b3b3, outset); + @include border-radius(0.5em, 0.5em, 0.5em, 0.5em); + } + .screenshots-view { + text-align: center; + padding-bottom: 1em; + img { + height: 500px; + width: auto; + @media (max-width: $screen-sm-min) { + width: 100%; + height: auto; + } + } + } + .screenshots-list { + margin: 0 -1em; + padding: 0; + text-align: center; + list-style: none; + border-top: 1px solid #CCC; + background-color: #f3f3f3; + @include border-radius(0em, 0em, 0.5em, 0.5em); + .screenshots-img { + margin-left: -0.3em; + padding: 0.5em; + border-left: 1px solid #CCC; + display: inline-block; + @include opacity(60); + width: 60px; + @media (min-width: $screen-sm-min) { + width: 100px; + } + &:hover { + cursor: pointer; + @include opacity(100); + } + &.active { + position: relative; + background-color: #dedede; + @include opacity(100); + @include box-shadow(0, 0, 1em, #bebebe, inset); + &:after { + content: ""; + position: absolute; + left: 50%; + top: -1px; + margin-left: -10px; + @include arrow(top, 8px, 10px, #FFF) + } + &:before { + content: ""; + position: absolute; + left: 50%; + top: -1px; + margin-left: -12px; + @include arrow(top, 9px, 12px, #CCC) + } + } + &:last-child { + width: 61px; + @media (min-width: $screen-sm-min) { + width: 101px; + } + border-right: 1px solid #CCC; + } + img { + width: 100%; + height: auto; + } + } + } + } + .metadata { + .title { + font-weight: 700; + margin-bottom: 0.3em; + } + .content { + font-size: 0.85em; + font-weight: 300; + } + } + hr { + margin: 1em 0; + border-top: 1px dotted #b0b0b0; + } + .card-content { + @media (max-width: $screen-xs-min) { + width: 100%; + border-right: none; + &:nth-child(n+2) { + border-top: 1px dotted #cfcfcf; + } + } + @media (min-width: $screen-xs-min) and (max-width: $screen-sm-max) { + width: 50%; + &:nth-child(2n) { + border-right: none; + } + &:nth-child(n+3) { + border-top: 1px dotted #cfcfcf; + } + } + @media (min-width: $screen-md-min) { + width: 33.333%; + &:nth-child(3n) { + border-right: none; + } + &:nth-child(n+4) { + border-top: 1px dotted #cfcfcf; + } + } + } + &.templates { + .cover-container { + width: 360px; + } + .info-container { + margin-left: 384px; + } + .whatsnew { + display: none; + } + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/store_front/font-awesome.css.erb b/app/assets/stylesheets/store_front/font-awesome.css.erb new file mode 100644 index 0000000..8e86a27 --- /dev/null +++ b/app/assets/stylesheets/store_front/font-awesome.css.erb @@ -0,0 +1,31 @@ +/* Font Awesome 3.0 + the iconic font designed for use with Twitter Bootstrap + ------------------------------------------------------- + The full suite of pictographic icons, examples, and documentation + can be found at: http://fortawesome.github.com/Font-Awesome/ + + License + ------------------------------------------------------- + • The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + • Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + http://opensource.org/licenses/mit-license.html + • The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + • Attribution is no longer required in Font Awesome 3.0, but much appreciated: + "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + Contact + ------------------------------------------------------- + Email: dave@davegandy.com + Twitter: http://twitter.com/fortaweso_me + Work: Lead Product Designer @ http://kyruus.com + + */ +@font-face { + font-family: 'FontAwesome'; + src:url(<%= asset_path 'fontawesome-webfont.eot' %>); + src:url(<%= asset_path 'fontawesome-webfont.eot?#iefix' %>) format('embedded-opentype'), + url(<%= asset_path 'fontawesome-webfont.woff' %>) format('woff'), + url(<%= asset_path 'fontawesome-webfont.ttf' %>) format('truetype'); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/app/assets/stylesheets/store_front/icon-ie7.min.css b/app/assets/stylesheets/store_front/icon-ie7.min.css new file mode 100644 index 0000000..ceff626 --- /dev/null +++ b/app/assets/stylesheets/store_front/icon-ie7.min.css @@ -0,0 +1,1514 @@ +/* Font Awesome 3.0 + the iconic font designed for use with Twitter Bootstrap + ------------------------------------------------------- + The full suite of pictographic icons, examples, and documentation + can be found at: http://fortawesome.github.com/Font-Awesome/ + + License + ------------------------------------------------------- + • The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + • Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + http://opensource.org/licenses/mit-license.html + • The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + • Attribution is no longer required in Font Awesome 3.0, but much appreciated: + "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + Contact + ------------------------------------------------------- + Email: dave@davegandy.com + Twitter: http://twitter.com/fortaweso_me + Work: Lead Product Designer @ http://kyruus.com + + */ +[class^="icon"], +[class*=" icon"] { + padding-right: .3em; +} +.icon-large { + font-size: 1.3333333333333333em; + margin-top: -4px; + padding-top: 3px; + margin-bottom: -4px; + padding-bottom: 3px; + vertical-align: -20%; +} +.btn [class^="icon"], +.nav [class^="icon"], +.btn [class*=" icon"], +.nav [class*=" icon"] { + vertical-align: inherit; + margin-top: -4px; + padding-top: 3px; + margin-bottom: -4px; + padding-bottom: 3px; + line-height: .9em; +} +a [class^="icon"], +a [class*=" icon"] { + cursor: pointer; +} +ul.icons { + text-indent: -1.5em; + margin-left: 3em; +} +.icon-glass { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-music { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-search { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-envelope { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-heart { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-star { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-star-empty { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-user { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-film { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-th-large { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-th { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-th-list { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-ok { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-remove { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-zoom-in { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-zoom-out { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-off { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-signal { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-cog { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-trash { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-home { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-file { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-time { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-road { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-download-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-download { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-upload { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-inbox { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-play-circle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-repeat { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-refresh { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-list-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-lock { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-flag { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-headphones { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-volume-off { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-volume-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-volume-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-qrcode { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-barcode { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-tag { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-tags { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-book { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bookmark { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-print { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-camera { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-font { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bold { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-italic { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-text-height { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-text-width { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-align-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-align-center { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-align-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-align-justify { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-list { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-indent-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-indent-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-facetime-video { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-picture { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-pencil { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-map-marker { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-adjust { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-tint { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-edit { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-share { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-check { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-move { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-step-backward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-fast-backward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-backward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-play { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-pause { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-stop { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-forward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-fast-forward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-step-forward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-eject { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-chevron-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-chevron-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-plus-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-minus-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-remove-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-ok-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-question-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-info-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-screenshot { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-remove-circle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-ok-circle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-ban-circle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-arrow-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-arrow-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-arrow-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-arrow-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-share-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-resize-full { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-resize-small { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-plus { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-minus { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-asterisk { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-exclamation-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-gift { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-leaf { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-fire { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-eye-open { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-eye-close { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-warning-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-plane { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-calendar { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-random { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-comment { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-magnet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-chevron-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-chevron-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-retweet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-shopping-cart { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-folder-close { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-folder-open { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-resize-vertical { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-resize-horizontal { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bar-chart { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-twitter-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-facebook-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-camera-retro { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-key { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-cogs { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-comments { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-thumbs-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-thumbs-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-star-half { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-heart-empty { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-signout { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-linkedin-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-pushpin { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-external-link { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-signin { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-trophy { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-github-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-upload-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-lemon { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-phone { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-check-empty { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bookmark-empty { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-phone-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-twitter { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-facebook { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-github { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-unlock { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-credit-card { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-rss { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-hdd { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bullhorn { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bell { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-certificate { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-hand-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-hand-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-hand-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-hand-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-circle-arrow-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-circle-arrow-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-circle-arrow-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-circle-arrow-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-globe { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-wrench { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-tasks { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-filter { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-briefcase { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-fullscreen { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-group { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-link { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-cloud { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-beaker { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-cut { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-copy { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-paper-clip { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-save { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-sign-blank { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-reorder { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-list-ul { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-list-ol { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-strikethrough { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-underline { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-table { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-magic { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-truck { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-pinterest { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-pinterest-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-google-plus-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-google-plus { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-money { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-caret-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-caret-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-caret-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-caret-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-columns { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-sort { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-sort-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-sort-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-envelope-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-linkedin { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-undo { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-legal { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-dashboard { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-comment-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-comments-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bolt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-sitemap { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-umbrella { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-paste { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-lightbulb { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-exchange { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-cloud-download { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-cloud-upload { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-user-md { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-stethoscope { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-suitcase { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-bell-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-coffee { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-food { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-file-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-building { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-hospital { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-ambulance { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-medkit { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-fighter-jet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-beer { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-h-sign { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-plus-sign-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-double-angle-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-double-angle-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-double-angle-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-double-angle-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-angle-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-angle-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-angle-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-angle-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-desktop { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-laptop { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-tablet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-mobile-phone { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-circle-blank { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-quote-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-quote-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-spinner { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-circle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-reply { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-github-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-folder-close-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icon-folder-open-alt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-phone { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-mobile { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-mouse { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-directions { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-mail { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-paperplane { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-pencil { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-feather { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-paperclip { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-drawer { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-reply { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-reply-all { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-forward { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-user { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-users { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-user-add { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-vcard { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-export { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-location { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-map { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-compass { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-location-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-target { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-share { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-sharable { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-heart { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-heart-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-star { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-star-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-thumbs-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-thumbs-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-chat { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-comment { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-quote { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-house { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-popup { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-search { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flashlight { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-printer { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bell { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-link { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flag { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cog { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-tools { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-trophy { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-tag { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-camera { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-megaphone { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-moon { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-palette { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-leaf { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-music { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-music-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-new { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-graduation { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-book { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-newspaper { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bag { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-airplane { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-lifebuoy { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-eye { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-clock { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-microphone { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-calendar { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bolt { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-thunder { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-droplet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cd { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-briefcase { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-air { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-hourglass { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-gauge { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-language { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-network { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-key { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-battery { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bucket { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-magnet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-drive { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cup { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-rocket { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-brush { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-suitcase { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cone { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-earth { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-keyboard { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-browser { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-publish { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-progress-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-progress-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-brogress-1 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-progress-0 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-sun { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-sun-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-adjust { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-code { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-screen { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-infinity { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-light-bulb { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-credit-card { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-database { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-voicemail { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-clipboard { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cart { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-box { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-ticket { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-rss { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-signal { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-thermometer { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-droplets { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-untitled { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-statistics { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-pie { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bars { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-graph { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-lock { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-lock-open { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-logout { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-login { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-checkmark { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cross { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-minus { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-plus { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cross-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-minus-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-plus-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cross-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-minus-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-plus-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-erase { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-blocked { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-info { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-info-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-question { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-help { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-warning { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cycle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cw { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-ccw { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-shuffle { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-retweet { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-loop { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-history { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-back { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-switch { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-list { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-add-to-list { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-layout { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-list-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-text { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-text-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-document { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-docs { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-landscape { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-pictures { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-video { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-music-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-folder { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-archive { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-trash { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-upload { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-download { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-disk { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-install { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cloud { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-upload-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bookmark { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-bookmarks { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-book-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-play { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-pause { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-record { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-stop { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-next { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-previous { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-first { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-last { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-resize-enlarge { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-resize-shrink { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-volume { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-sound { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-mute { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flow-cascade { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flow-branch { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flow-tree { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flow-line { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-flow-parallel { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up--upload { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-4 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-4 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up-3 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right-4 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-5 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-5 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up-4 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right-5 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-6 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-6 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up-5 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right-6 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-7 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-7 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up-6 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-untitled-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-left-8 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-down-8 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-up-7 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-arrow-right-7 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-menu { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-ellipsis { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-dots { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-dot { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-by { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-nc { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-nc-eu { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-nc-jp { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-sa { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-nd { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-pd { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-zero { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-share { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-cc-share-2 { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-daniel-bruce { + *zoom: expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); +} +.icons-daniel-bruce-2 { + *zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '); +} \ No newline at end of file diff --git a/app/assets/stylesheets/store_front/icon.css.erb b/app/assets/stylesheets/store_front/icon.css.erb new file mode 100644 index 0000000..f510a6e --- /dev/null +++ b/app/assets/stylesheets/store_front/icon.css.erb @@ -0,0 +1,715 @@ +[data-icons]:before { + font-family: 'entypo'; + content: attr(data-icons); + speak: none; + font-weight: normal; + -webkit-font-smoothing: antialiased; +} +@font-face { + font-family: 'entypo'; + src:url(<%= asset_path 'entypo.eot' %>); + src:url(<%= asset_path 'entypo.eot?#iefix' %>) format('embedded-opentype'), + url(<%= asset_path 'entypo.svg#entypo' %>) format('svg'), + url(<%= asset_path 'entypo.woff' %>) format('woff'), + url(<%= asset_path 'entypo.ttf' %>) format('truetype'); + font-weight: normal; + font-style: normal; +} +/* Font Awesome styles + ------------------------------------------------------- */ +/* includes sprites.less reset */ +.ui-icon, +[class^="icon-"], +[class*=" icon-"] { + font-family: 'FontAwesome'; +} +.ui-icon, +[class^="icons-"], +[class*=" icons-"] { + font-family: 'entypo'; +} +.ui-icon, +[class^="icon"], +[class*=" icon"] { + font-weight: normal; + font-style: normal; + text-decoration: inherit; + display: inline-block; + width: auto; + height: auto; + margin-top: 0; + line-height: normal; + vertical-align: baseline; + background-image: none !important; + background-position: 0% 0%; + background-repeat: repeat; + + +} +.ui-icon, +[class^="icon"]:before, +[class*=" icon"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} +/* makes sure icons active on rollover in links */ +a .ui-icon, +a [class^="icon"], +a [class*=" icon"] { + display: inline-block; +} +/* makes the font 33% larger relative to the icon container */ +.icon-large:before { + vertical-align: -10%; + font-size: 1.3333333333333333em; +} +.btn .ui-icon +.nav .ui-icon, +.btn [class^="icon"], +.nav [class^="icon"], +.btn [class*=" icon"], +.nav [class*=" icon"] { + display: inline; + /* keeps button heights with and without icons the same */ + line-height: .6em; +} +.btn .ui-icon.icon-spin, +.nav .ui-icon.icon-spin, +.btn [class^="icon"].icon-spin, +.nav [class^="icon"].icon-spin, +.btn [class*=" icon"].icon-spin, +.nav [class*=" icon"].icon-spin { + display: inline-block; +} +li .ui-icon, +li [class^="icon"], +li [class*=" icon"] { + display: inline-block; + width: 1.25em; + text-align: center; +} +li .ui-icon.icon-large, +li [class^="icon"].icon-large, +li [class*=" icon"].icon-large { + /* increased font size for icon-large */ + + width: 1.5625em; +} +ul.icons { + list-style-type: none; + text-indent: -0.75em; +} +ul.icons li .ui-icon, +ul.icons li [class^="icon"], +ul.icons li [class*=" icon"] { + width: .75em; +} +.icon-muted { + color: #eeeeee; +} +.icon-border { + border: solid 1px #eeeeee; + padding: .2em .25em .15em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.icon-2x { + font-size: 2em; +} +.icon-2x.icon-border { + border-width: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.icon-3x { + font-size: 3em; +} +.icon-3x.icon-border { + border-width: 3px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.icon-4x { + font-size: 4em; +} +.icon-4x.icon-border { + border-width: 4px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +[class^="icon"].pull-left, +[class*=" icon"].pull-left { + margin-right: .35em; +} +[class^="icon"].pull-right, +[class*=" icon"].pull-right { + margin-left: .35em; +} +.btn [class^="icon"].pull-left.icon-2x, +.btn [class*=" icon"].pull-left.icon-2x, +.btn [class^="icon"].pull-right.icon-2x, +.btn [class*=" icon"].pull-right.icon-2x { + margin-top: .35em; +} +.btn [class^="icon"].icon-spin.icon-large, +.btn [class*=" icon"].icon-spin.icon-large { + height: .75em; +} +.btn.btn-small [class^="icon"].pull-left.icon-2x, +.btn.btn-small [class*=" icon"].pull-left.icon-2x, +.btn.btn-small [class^="icon"].pull-right.icon-2x, +.btn.btn-small [class*=" icon"].pull-right.icon-2x { + margin-top: .45em; +} +.btn.btn-large [class^="icon"].pull-left.icon-2x, +.btn.btn-large [class*=" icon"].pull-left.icon-2x, +.btn.btn-large [class^="icon"].pull-right.icon-2x, +.btn.btn-large [class*=" icon"].pull-right.icon-2x { + margin-top: .2em; +} +.icon-spin { + display: inline-block; + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { -moz-transform: rotate(0deg); } + 100% { -moz-transform: rotate(359deg); } +} +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@-o-keyframes spin { + 0% { -o-transform: rotate(0deg); } + 100% { -o-transform: rotate(359deg); } +} +@-ms-keyframes spin { + 0% { -ms-transform: rotate(0deg); } + 100% { -ms-transform: rotate(359deg); } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.icon-glass:before { content: "\f000"; } +.icon-music:before { content: "\f001"; } +.icon-search:before { content: "\f002"; } +.icon-envelope:before { content: "\f003"; } +.icon-heart:before { content: "\f004"; } +.icon-star:before { content: "\f005"; } +.icon-star-empty:before { content: "\f006"; } +.icon-user:before { content: "\f007"; } +.icon-film:before { content: "\f008"; } +.icon-th-large:before { content: "\f009"; } +.icon-th:before { content: "\f00a"; } +.icon-th-list:before { content: "\f00b"; } +.icon-ok:before { content: "\f00c"; } +.icon-remove:before { content: "\f00d"; } +.icon-zoom-in:before { content: "\f00e"; } + +.icon-zoom-out:before { content: "\f010"; } +.icon-off:before { content: "\f011"; } +.icon-signal:before { content: "\f012"; } +.icon-cog:before { content: "\f013"; } +.icon-trash:before { content: "\f014"; } +.icon-home:before { content: "\f015"; } +.icon-file:before { content: "\f016"; } +.icon-time:before { content: "\f017"; } +.icon-road:before { content: "\f018"; } +.icon-download-alt:before { content: "\f019"; } +.icon-download:before { content: "\f01a"; } +.icon-upload:before { content: "\f01b"; } +.icon-inbox:before { content: "\f01c"; } +.icon-play-circle:before { content: "\f01d"; } +.icon-repeat:before { content: "\f01e"; } + +/* \f020 doesn't work in Safari. all shifted one down */ +.icon-refresh:before { content: "\f021"; } +.icon-list-alt:before { content: "\f022"; } +.icon-lock:before { content: "\f023"; } +.icon-flag:before { content: "\f024"; } +.icon-headphones:before { content: "\f025"; } +.icon-volume-off:before { content: "\f026"; } +.icon-volume-down:before { content: "\f027"; } +.icon-volume-up:before { content: "\f028"; } +.icon-qrcode:before { content: "\f029"; } +.icon-barcode:before { content: "\f02a"; } +.icon-tag:before { content: "\f02b"; } +.icon-tags:before { content: "\f02c"; } +.icon-book:before { content: "\f02d"; } +.icon-bookmark:before { content: "\f02e"; } +.icon-print:before { content: "\f02f"; } + +.icon-camera:before { content: "\f030"; } +.icon-font:before { content: "\f031"; } +.icon-bold:before { content: "\f032"; } +.icon-italic:before { content: "\f033"; } +.icon-text-height:before { content: "\f034"; } +.icon-text-width:before { content: "\f035"; } +.icon-align-left:before { content: "\f036"; } +.icon-align-center:before { content: "\f037"; } +.icon-align-right:before { content: "\f038"; } +.icon-align-justify:before { content: "\f039"; } +.icon-list:before { content: "\f03a"; } +.icon-indent-left:before { content: "\f03b"; } +.icon-indent-right:before { content: "\f03c"; } +.icon-facetime-video:before { content: "\f03d"; } +.icon-picture:before { content: "\f03e"; } + +.icon-pencil:before { content: "\f040"; } +.icon-map-marker:before { content: "\f041"; } +.icon-adjust:before { content: "\f042"; } +.icon-tint:before { content: "\f043"; } +.icon-edit:before { content: "\f044"; } +.icon-share:before { content: "\f045"; } +.icon-check:before { content: "\f046"; } +.icon-move:before { content: "\f047"; } +.icon-step-backward:before { content: "\f048"; } +.icon-fast-backward:before { content: "\f049"; } +.icon-backward:before { content: "\f04a"; } +.icon-play:before { content: "\f04b"; } +.icon-pause:before { content: "\f04c"; } +.icon-stop:before { content: "\f04d"; } +.icon-forward:before { content: "\f04e"; } + +.icon-fast-forward:before { content: "\f050"; } +.icon-step-forward:before { content: "\f051"; } +.icon-eject:before { content: "\f052"; } +.icon-chevron-left:before { content: "\f053"; } +.icon-chevron-right:before { content: "\f054"; } +.icon-plus-sign:before { content: "\f055"; } +.icon-minus-sign:before { content: "\f056"; } +.icon-remove-sign:before { content: "\f057"; } +.icon-ok-sign:before { content: "\f058"; } +.icon-question-sign:before { content: "\f059"; } +.icon-info-sign:before { content: "\f05a"; } +.icon-screenshot:before { content: "\f05b"; } +.icon-remove-circle:before { content: "\f05c"; } +.icon-ok-circle:before { content: "\f05d"; } +.icon-ban-circle:before { content: "\f05e"; } + +.icon-arrow-left:before { content: "\f060"; } +.icon-arrow-right:before { content: "\f061"; } +.icon-arrow-up:before { content: "\f062"; } +.icon-arrow-down:before { content: "\f063"; } +.icon-share-alt:before { content: "\f064"; } +.icon-resize-full:before { content: "\f065"; } +.icon-resize-small:before { content: "\f066"; } +.icon-plus:before { content: "\f067"; } +.icon-minus:before { content: "\f068"; } +.icon-asterisk:before { content: "\f069"; } +.icon-exclamation-sign:before { content: "\f06a"; } +.icon-gift:before { content: "\f06b"; } +.icon-leaf:before { content: "\f06c"; } +.icon-fire:before { content: "\f06d"; } +.icon-eye-open:before { content: "\f06e"; } + +.icon-eye-close:before { content: "\f070"; } +.icon-warning-sign:before { content: "\f071"; } +.icon-plane:before { content: "\f072"; } +.icon-calendar:before { content: "\f073"; } +.icon-random:before { content: "\f074"; } +.icon-comment:before { content: "\f075"; } +.icon-magnet:before { content: "\f076"; } +.icon-chevron-up:before { content: "\f077"; } +.icon-chevron-down:before { content: "\f078"; } +.icon-retweet:before { content: "\f079"; } +.icon-shopping-cart:before { content: "\f07a"; } +.icon-folder-close:before { content: "\f07b"; } +.icon-folder-open:before { content: "\f07c"; } +.icon-resize-vertical:before { content: "\f07d"; } +.icon-resize-horizontal:before { content: "\f07e"; } + +.icon-bar-chart:before { content: "\f080"; } +.icon-twitter-sign:before { content: "\f081"; } +.icon-facebook-sign:before { content: "\f082"; } +.icon-camera-retro:before { content: "\f083"; } +.icon-key:before { content: "\f084"; } +.icon-cogs:before { content: "\f085"; } +.icon-comments:before { content: "\f086"; } +.icon-thumbs-up:before { content: "\f087"; } +.icon-thumbs-down:before { content: "\f088"; } +.icon-star-half:before { content: "\f089"; } +.icon-heart-empty:before { content: "\f08a"; } +.icon-signout:before { content: "\f08b"; } +.icon-linkedin-sign:before { content: "\f08c"; } +.icon-pushpin:before { content: "\f08d"; } +.icon-external-link:before { content: "\f08e"; } + +.icon-signin:before { content: "\f090"; } +.icon-trophy:before { content: "\f091"; } +.icon-github-sign:before { content: "\f092"; } +.icon-upload-alt:before { content: "\f093"; } +.icon-lemon:before { content: "\f094"; } +.icon-phone:before { content: "\f095"; } +.icon-check-empty:before { content: "\f096"; } +.icon-bookmark-empty:before { content: "\f097"; } +.icon-phone-sign:before { content: "\f098"; } +.icon-twitter:before { content: "\f099"; } +.icon-facebook:before { content: "\f09a"; } +.icon-github:before { content: "\f09b"; } +.icon-unlock:before { content: "\f09c"; } +.icon-credit-card:before { content: "\f09d"; } +.icon-rss:before { content: "\f09e"; } + +.icon-hdd:before { content: "\f0a0"; } +.icon-bullhorn:before { content: "\f0a1"; } +.icon-bell:before { content: "\f0a2"; } +.icon-certificate:before { content: "\f0a3"; } +.icon-hand-right:before { content: "\f0a4"; } +.icon-hand-left:before { content: "\f0a5"; } +.icon-hand-up:before { content: "\f0a6"; } +.icon-hand-down:before { content: "\f0a7"; } +.icon-circle-arrow-left:before { content: "\f0a8"; } +.icon-circle-arrow-right:before { content: "\f0a9"; } +.icon-circle-arrow-up:before { content: "\f0aa"; } +.icon-circle-arrow-down:before { content: "\f0ab"; } +.icon-globe:before { content: "\f0ac"; } +.icon-wrench:before { content: "\f0ad"; } +.icon-tasks:before { content: "\f0ae"; } + +.icon-filter:before { content: "\f0b0"; } +.icon-briefcase:before { content: "\f0b1"; } +.icon-fullscreen:before { content: "\f0b2"; } + +.icon-group:before { content: "\f0c0"; } +.icon-link:before { content: "\f0c1"; } +.icon-cloud:before { content: "\f0c2"; } +.icon-beaker:before { content: "\f0c3"; } +.icon-cut:before { content: "\f0c4"; } +.icon-copy:before { content: "\f0c5"; } +.icon-paper-clip:before { content: "\f0c6"; } +.icon-save:before { content: "\f0c7"; } +.icon-sign-blank:before { content: "\f0c8"; } +.icon-reorder:before { content: "\f0c9"; } +.icon-list-ul:before { content: "\f0ca"; } +.icon-list-ol:before { content: "\f0cb"; } +.icon-strikethrough:before { content: "\f0cc"; } +.icon-underline:before { content: "\f0cd"; } +.icon-table:before { content: "\f0ce"; } + +.icon-magic:before { content: "\f0d0"; } +.icon-truck:before { content: "\f0d1"; } +.icon-pinterest:before { content: "\f0d2"; } +.icon-pinterest-sign:before { content: "\f0d3"; } +.icon-google-plus-sign:before { content: "\f0d4"; } +.icon-google-plus:before { content: "\f0d5"; } +.icon-money:before { content: "\f0d6"; } +.icon-caret-down:before { content: "\f0d7"; } +.icon-caret-up:before { content: "\f0d8"; } +.icon-caret-left:before { content: "\f0d9"; } +.icon-caret-right:before { content: "\f0da"; } +.icon-columns:before { content: "\f0db"; } +.icon-sort:before { content: "\f0dc"; } +.icon-sort-down:before { content: "\f0dd"; } +.icon-sort-up:before { content: "\f0de"; } + +.icon-envelope-alt:before { content: "\f0e0"; } +.icon-linkedin:before { content: "\f0e1"; } +.icon-undo:before { content: "\f0e2"; } +.icon-legal:before { content: "\f0e3"; } +.icon-dashboard:before { content: "\f0e4"; } +.icon-comment-alt:before { content: "\f0e5"; } +.icon-comments-alt:before { content: "\f0e6"; } +.icon-bolt:before { content: "\f0e7"; } +.icon-sitemap:before { content: "\f0e8"; } +.icon-umbrella:before { content: "\f0e9"; } +.icon-paste:before { content: "\f0ea"; } +.icon-lightbulb:before { content: "\f0eb"; } +.icon-exchange:before { content: "\f0ec"; } +.icon-cloud-download:before { content: "\f0ed"; } +.icon-cloud-upload:before { content: "\f0ee"; } + +.icon-user-md:before { content: "\f0f0"; } +.icon-stethoscope:before { content: "\f0f1"; } +.icon-suitcase:before { content: "\f0f2"; } +.icon-bell-alt:before { content: "\f0f3"; } +.icon-coffee:before { content: "\f0f4"; } +.icon-food:before { content: "\f0f5"; } +.icon-file-alt:before { content: "\f0f6"; } +.icon-building:before { content: "\f0f7"; } +.icon-hospital:before { content: "\f0f8"; } +.icon-ambulance:before { content: "\f0f9"; } +.icon-medkit:before { content: "\f0fa"; } +.icon-fighter-jet:before { content: "\f0fb"; } +.icon-beer:before { content: "\f0fc"; } +.icon-h-sign:before { content: "\f0fd"; } +.icon-plus-sign-alt:before { content: "\f0fe"; } + +.icon-double-angle-left:before { content: "\f100"; } +.icon-double-angle-right:before { content: "\f101"; } +.icon-double-angle-up:before { content: "\f102"; } +.icon-double-angle-down:before { content: "\f103"; } +.icon-angle-left:before { content: "\f104"; } +.icon-angle-right:before { content: "\f105"; } +.icon-angle-up:before { content: "\f106"; } +.icon-angle-down:before { content: "\f107"; } +.icon-desktop:before { content: "\f108"; } +.icon-laptop:before { content: "\f109"; } +.icon-tablet:before { content: "\f10a"; } +.icon-mobile-phone:before { content: "\f10b"; } +.icon-circle-blank:before { content: "\f10c"; } +.icon-quote-left:before { content: "\f10d"; } +.icon-quote-right:before { content: "\f10e"; } + +.icon-spinner:before { content: "\f110"; } +.icon-circle:before { content: "\f111"; } +.icon-reply:before { content: "\f112"; } +.icon-github-alt:before { content: "\f113"; } +.icon-folder-close-alt:before { content: "\f114"; } +.icon-folder-open-alt:before { content: "\f115"; } + +.icons-phone:before { content: "\e000"; } +.icons-mobile:before { content: "\e001"; } +.icons-mouse:before { content: "\e002"; } +.icons-directions:before { content: "\e003"; } +.icons-mail:before { content: "\e004"; } +.icons-paperplane:before { content: "\e005"; } +.icons-pencil:before { content: "\e006"; } +.icons-feather:before { content: "\e007"; } +.icons-paperclip:before { content: "\e008"; } +.icons-drawer:before { content: "\e009"; } +.icons-reply:before { content: "\e00a"; } +.icons-reply-all:before { content: "\e00b"; } +.icons-forward:before { content: "\e00c"; } +.icons-user:before { content: "\e00d"; } +.icons-users:before { content: "\e00e"; } +.icons-user-add:before { content: "\e00f"; } +.icons-vcard:before { content: "\e010"; } +.icons-export:before { content: "\e011"; } +.icons-location:before { content: "\e012"; } +.icons-map:before { content: "\e013"; } +.icons-compass:before { content: "\e014"; } +.icons-location-2:before { content: "\e015"; } +.icons-target:before { content: "\e016"; } +.icons-share:before { content: "\e017"; } +.icons-sharable:before { content: "\e018"; } +.icons-heart:before { content: "\e019"; } +.icons-heart-2:before { content: "\e01a"; } +.icons-star:before { content: "\e01b"; } +.icons-star-2:before { content: "\e01c"; } +.icons-thumbs-up:before { content: "\e01d"; } +.icons-thumbs-down:before { content: "\e01e"; } +.icons-chat:before { content: "\e01f"; } +.icons-comment:before { content: "\e020"; } +.icons-quote:before { content: "\e021"; } +.icons-house:before { content: "\e022"; } +.icons-popup:before { content: "\e023"; } +.icons-search:before { content: "\e024"; } +.icons-flashlight:before { content: "\e025"; } +.icons-printer:before { content: "\e026"; } +.icons-bell:before { content: "\e027"; } +.icons-link:before { content: "\e028"; } +.icons-flag:before { content: "\e029"; } +.icons-cog:before { content: "\e02a"; } +.icons-tools:before { content: "\e02b"; } +.icons-trophy:before { content: "\e02c"; } +.icons-tag:before { content: "\e02d"; } +.icons-camera:before { content: "\e02e"; } +.icons-megaphone:before { content: "\e02f"; } +.icons-moon:before { content: "\e030"; } +.icons-palette:before { content: "\e031"; } +.icons-leaf:before { content: "\e032"; } +.icons-music:before { content: "\e033"; } +.icons-music-2:before { content: "\e034"; } +.icons-new:before { content: "\e035"; } +.icons-graduation:before { content: "\e036"; } +.icons-book:before { content: "\e037"; } +.icons-newspaper:before { content: "\e038"; } +.icons-bag:before { content: "\e039"; } +.icons-airplane:before { content: "\e03a"; } +.icons-lifebuoy:before { content: "\e03b"; } +.icons-eye:before { content: "\e03c"; } +.icons-clock:before { content: "\e03d"; } +.icons-microphone:before { content: "\e03e"; } +.icons-calendar:before { content: "\e03f"; } +.icons-bolt:before { content: "\e040"; } +.icons-thunder:before { content: "\e041"; } +.icons-droplet:before { content: "\e042"; } +.icons-cd:before { content: "\e043"; } +.icons-briefcase:before { content: "\e044"; } +.icons-air:before { content: "\e045"; } +.icons-hourglass:before { content: "\e046"; } +.icons-gauge:before { content: "\e047"; } +.icons-language:before { content: "\e048"; } +.icons-network:before { content: "\e049"; } +.icons-key:before { content: "\e04a"; } +.icons-battery:before { content: "\e04b"; } +.icons-bucket:before { content: "\e04c"; } +.icons-magnet:before { content: "\e04d"; } +.icons-drive:before { content: "\e04e"; } +.icons-cup:before { content: "\e04f"; } +.icons-rocket:before { content: "\e050"; } +.icons-brush:before { content: "\e051"; } +.icons-suitcase:before { content: "\e052"; } +.icons-cone:before { content: "\e053"; } +.icons-earth:before { content: "\e054"; } +.icons-keyboard:before { content: "\e055"; } +.icons-browser:before { content: "\e056"; } +.icons-publish:before { content: "\e057"; } +.icons-progress-3:before { content: "\e058"; } +.icons-progress-2:before { content: "\e059"; } +.icons-brogress-1:before { content: "\e05a"; } +.icons-progress-0:before { content: "\e05b"; } +.icons-sun:before { content: "\e05c"; } +.icons-sun-2:before { content: "\e05d"; } +.icons-adjust:before { content: "\e05e"; } +.icons-code:before { content: "\e05f"; } +.icons-screen:before { content: "\e060"; } +.icons-infinity:before { content: "\e061"; } +.icons-light-bulb:before { content: "\e062"; } +.icons-credit-card:before { content: "\e063"; } +.icons-database:before { content: "\e064"; } +.icons-voicemail:before { content: "\e065"; } +.icons-clipboard:before { content: "\e066"; } +.icons-cart:before { content: "\e067"; } +.icons-box:before { content: "\e068"; } +.icons-ticket:before { content: "\e069"; } +.icons-rss:before { content: "\e06a"; } +.icons-signal:before { content: "\e06b"; } +.icons-thermometer:before { content: "\e06c"; } +.icons-droplets:before { content: "\e06d"; } +.icons-untitled:before { content: "\e06e"; } +.icons-statistics:before { content: "\e06f"; } +.icons-pie:before { content: "\e070"; } +.icons-bars:before { content: "\e071"; } +.icons-graph:before { content: "\e072"; } +.icons-lock:before { content: "\e073"; } +.icons-lock-open:before { content: "\e074"; } +.icons-logout:before { content: "\e075"; } +.icons-login:before { content: "\e076"; } +.icons-checkmark:before { content: "\e077"; } +.icons-cross:before { content: "\e078"; } +.icons-minus:before { content: "\e079"; } +.icons-plus:before { content: "\e07a"; } +.icons-cross-2:before { content: "\e07b"; } +.icons-minus-2:before { content: "\e07c"; } +.icons-plus-2:before { content: "\e07d"; } +.icons-cross-3:before { content: "\e07e"; } +.icons-minus-3:before { content: "\e07f"; } +.icons-plus-3:before { content: "\e080"; } +.icons-erase:before { content: "\e081"; } +.icons-blocked:before { content: "\e082"; } +.icons-info:before { content: "\e083"; } +.icons-info-2:before { content: "\e084"; } +.icons-question:before { content: "\e085"; } +.icons-help:before { content: "\e086"; } +.icons-warning:before { content: "\e087"; } +.icons-cycle:before { content: "\e088"; } +.icons-cw:before { content: "\e089"; } +.icons-ccw:before { content: "\e08a"; } +.icons-shuffle:before { content: "\e08b"; } +.icons-arrow:before { content: "\e08c"; } +.icons-arrow-2:before { content: "\e08d"; } +.icons-retweet:before { content: "\e08e"; } +.icons-loop:before { content: "\e08f"; } +.icons-history:before { content: "\e090"; } +.icons-back:before { content: "\e091"; } +.icons-switch:before { content: "\e092"; } +.icons-list:before { content: "\e093"; } +.icons-add-to-list:before { content: "\e094"; } +.icons-layout:before { content: "\e095"; } +.icons-list-2:before { content: "\e096"; } +.icons-text:before { content: "\e097"; } +.icons-text-2:before { content: "\e098"; } +.icons-document:before { content: "\e099"; } +.icons-docs:before { content: "\e09a"; } +.icons-landscape:before { content: "\e09b"; } +.icons-pictures:before { content: "\e09c"; } +.icons-video:before { content: "\e09d"; } +.icons-music-3:before { content: "\e09e"; } +.icons-folder:before { content: "\e09f"; } +.icons-archive:before { content: "\e0a0"; } +.icons-trash:before { content: "\e0a1"; } +.icons-upload:before { content: "\e0a2"; } +.icons-download:before { content: "\e0a3"; } +.icons-disk:before { content: "\e0a4"; } +.icons-install:before { content: "\e0a5"; } +.icons-cloud:before { content: "\e0a6"; } +.icons-upload-2:before { content: "\e0a7"; } +.icons-bookmark:before { content: "\e0a8"; } +.icons-bookmarks:before { content: "\e0a9"; } +.icons-book-2:before { content: "\e0aa"; } +.icons-play:before { content: "\e0ab"; } +.icons-pause:before { content: "\e0ac"; } +.icons-record:before { content: "\e0ad"; } +.icons-stop:before { content: "\e0ae"; } +.icons-next:before { content: "\e0af"; } +.icons-previous:before { content: "\e0b0"; } +.icons-first:before { content: "\e0b1"; } +.icons-last:before { content: "\e0b2"; } +.icons-resize-enlarge:before { content: "\e0b3"; } +.icons-resize-shrink:before { content: "\e0b4"; } +.icons-volume:before { content: "\e0b5"; } +.icons-sound:before { content: "\e0b6"; } +.icons-mute:before { content: "\e0b7"; } +.icons-flow-cascade:before { content: "\e0b8"; } +.icons-flow-branch:before { content: "\e0b9"; } +.icons-flow-tree:before { content: "\e0ba"; } +.icons-flow-line:before { content: "\e0bb"; } +.icons-flow-parallel:before { content: "\e0bc"; } +.icons-arrow-left:before { content: "\e0bd"; } +.icons-arrow-down:before { content: "\e0be"; } +.icons-arrow-up--upload:before { content: "\e0bf"; } +.icons-arrow-right:before { content: "\e0c0"; } +.icons-arrow-left-2:before { content: "\e0c1"; } +.icons-arrow-down-2:before { content: "\e0c2"; } +.icons-arrow-up:before { content: "\e0c3"; } +.icons-arrow-right-2:before { content: "\e0c4"; } +.icons-arrow-left-3:before { content: "\e0c5"; } +.icons-arrow-down-3:before { content: "\e0c6"; } +.icons-arrow-up-2:before { content: "\e0c7"; } +.icons-arrow-right-3:before { content: "\e0c8"; } +.icons-arrow-left-4:before { content: "\e0c9"; } +.icons-arrow-down-4:before { content: "\e0ca"; } +.icons-arrow-up-3:before { content: "\e0cb"; } +.icons-arrow-right-4:before { content: "\e0cc"; } +.icons-arrow-left-5:before { content: "\e0cd"; } +.icons-arrow-down-5:before { content: "\e0ce"; } +.icons-arrow-up-4:before { content: "\e0cf"; } +.icons-arrow-right-5:before { content: "\e0d0"; } +.icons-arrow-left-6:before { content: "\e0d1"; } +.icons-arrow-down-6:before { content: "\e0d2"; } +.icons-arrow-up-5:before { content: "\e0d3"; } +.icons-arrow-right-6:before { content: "\e0d4"; } +.icons-arrow-left-7:before { content: "\e0d5"; } +.icons-arrow-down-7:before { content: "\e0d6"; } +.icons-arrow-up-6:before { content: "\e0d7"; } +.icons-untitled-2:before { content: "\e0d8"; } +.icons-arrow-left-8:before { content: "\e0d9"; } +.icons-arrow-down-8:before { content: "\e0da"; } +.icons-arrow-up-7:before { content: "\e0db"; } +.icons-arrow-right-7:before { content: "\e0dc"; } +.icons-menu:before { content: "\e0dd"; } +.icons-ellipsis:before { content: "\e0de"; } +.icons-dots:before { content: "\e0df"; } +.icons-dot:before { content: "\e0e0"; } +.icons-cc:before { content: "\e0e1"; } +.icons-cc-by:before { content: "\e0e2"; } +.icons-cc-nc:before { content: "\e0e3"; } +.icons-cc-nc-eu:before { content: "\e0e4"; } +.icons-cc-nc-jp:before { content: "\e0e5"; } +.icons-cc-sa:before { content: "\e0e6"; } +.icons-cc-nd:before { content: "\e0e7"; } +.icons-cc-pd:before { content: "\e0e8"; } +.icons-cc-zero:before { content: "\e0e9"; } +.icons-cc-share:before { content: "\e0ea"; } +.icons-cc-share-2:before { content: "\e0eb"; } +.icons-daniel-bruce:before { content: "\e0ec"; } +.icons-daniel-bruce-2:before { content: "\e0ed"; } diff --git a/app/assets/stylesheets/store_front/main.css.scss b/app/assets/stylesheets/store_front/main.css.scss new file mode 100644 index 0000000..d1c56cc --- /dev/null +++ b/app/assets/stylesheets/store_front/main.css.scss @@ -0,0 +1,6 @@ +@import "bootstrap"; +@import "icon"; +@import "font-awesome"; +@import "mixin"; +@import "site-style"; +@import "store_fonts"; \ No newline at end of file diff --git a/app/assets/stylesheets/store_front/store_fonts.css.erb b/app/assets/stylesheets/store_front/store_fonts.css.erb new file mode 100644 index 0000000..2392d72 --- /dev/null +++ b/app/assets/stylesheets/store_front/store_fonts.css.erb @@ -0,0 +1,5 @@ +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('/assets/glyphicons-halflings-regular.eot'); + src: url('/assets/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/assets/glyphicons-halflings-regular.woff') format('woff'), url('/assets/glyphicons-halflings-regular.ttf') format('truetype'), url('/assets/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} \ No newline at end of file diff --git a/app/controllers/extensions_controller.rb b/app/controllers/extensions_controller.rb index 974c3cf..67cd5c2 100644 --- a/app/controllers/extensions_controller.rb +++ b/app/controllers/extensions_controller.rb @@ -6,11 +6,16 @@ class ExtensionsController < ApplicationController # GET /extensions.json def index @extensions = Extension.all + @categories = Extension.get_categories + @sort_type = Extension::SORT_TYPE + render layout: "product_index" end # GET /extensions/1 # GET /extensions/1.json def show + @extensions = Extension.all + render layout: "extension_show" end # GET /extensions/new @@ -73,7 +78,7 @@ class ExtensionsController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def extension_params - params.require(:extension).permit(:title, :author, :description, :preview, :preview_cache, :extension, :extension_cache, :key, :repository, :git_url) + params.require(:extension).permit(:title, :author, :description, :preview, :preview_cache, :extension, :extension_cache, :key, :repository, :git_url, :tag) end end diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 9cf010c..0b4ffc5 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,6 +1,7 @@ class HomeController < ApplicationController + layout "store_index" def index - @templates = Template.desc(:created_at).limit(3) - @extensions = Extension.desc(:created_at).limit(3) + @templates = Template.desc(:created_at).limit(12) + @extensions = Extension.desc(:created_at).limit(12) end end diff --git a/app/controllers/templates_controller.rb b/app/controllers/templates_controller.rb index 829b951..ddf1737 100644 --- a/app/controllers/templates_controller.rb +++ b/app/controllers/templates_controller.rb @@ -2,15 +2,21 @@ class TemplatesController < ApplicationController before_action :set_template, only: [:show, :edit, :update, :destroy] before_filter :authenticate_user!, only: [:new, :edit, :create, :update, :destroy] + # GET /templates # GET /templates.json def index @templates = Template.all + @categories = Extension.get_categories + @sort_type = Extension::SORT_TYPE + render layout: "product_index" end # GET /templates/1 # GET /templates/1.json def show + @templates = Template.all + render layout: "template_show" end # GET /templates/new diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index de6be79..d3bef87 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,2 +1,40 @@ module ApplicationHelper + def helper_metadata(type) + @list = "" + downloads = ["0-50", "51-100", "101-150", "151UP"] + if type == "extensions" + content = [ + ["File Size", (((120 + rand(1500))/10.to_f).to_s + "MB")], + ["Downloads", downloads[rand(200)/50]], + ["Operating Systems", "Orbit " + ((40 + rand(9))/10.to_f).to_s] + ] + elsif type == "templates" + content = [ + ["File Size", (((120 + rand(1500))/10.to_f).to_s + "MB")] + ] + end + content.each do |n| + @list += content_tag(:div, (content_tag(:div, n[0].to_s, :class => "title")+content_tag(:div, n[1].to_s, :class => "content")), :class => "meta-info col-md-3"); + end + return @list + end + + def headingTitle(title, moreLink) + @title = content_tag(:h2, title, :class => "heading-title") + if moreLink + @title += content_tag(:div, (link_to "More", moreLink), :class => "more") + end + return content_tag(:div, @title, :class => "heading") + end + + def routingLoad(a) + case a + when a = /\?/ + return "modules/sort" + when a = /\/templates/ + return "templates" + else + return "nil" + end + end end diff --git a/app/models/extension.rb b/app/models/extension.rb index ddb7a1f..947a0f4 100644 --- a/app/models/extension.rb +++ b/app/models/extension.rb @@ -16,11 +16,17 @@ class Extension field :git_url, type: String field :key, type: String field :version, type: String + field :price, type: Float + field :tag, type: String slug :title, history: true belongs_to :category + IMAGE_SIZES = { + :thumb => [100, 100] + } + mount_uploader :preview, ImageUploader mount_uploader :extension, ProductUploader @@ -28,6 +34,8 @@ class Extension # after_save :get_version_number + SORT_TYPE = %w{Popular New Preferred} + def get_version_number url = "#{self.repository}/raw/master/lib/#{self.key}/version.rb" response = Net::HTTP.get_response(URI.parse(url)).body @@ -35,4 +43,8 @@ class Extension version = data.gsub!(/\s+/, "").tr!('"','').gsub("module#{self.key.capitalize}VERSION=",'').gsub("end",'') self.update(version: version) end + + def self.get_categories + categories = Category.where(type: "Extension") + end end diff --git a/app/models/template.rb b/app/models/template.rb index b80dd52..2be0987 100644 --- a/app/models/template.rb +++ b/app/models/template.rb @@ -10,12 +10,24 @@ class Template field :preview, type: String field :template, type: String field :category_id, type: String + field :price, type: Float + field :description, type: String slug :title, history: true belongs_to :category + IMAGE_SIZES = { + :thumb => [256, 180] + } + mount_uploader :preview, ImageUploader mount_uploader :template, ProductUploader elasticsearch! + + SORT_TYPE = %w{Popular New Preferred} + + def self.get_categories + categories = Category.where(type: "Extension") + end end diff --git a/app/models/user.rb b/app/models/user.rb index 06d1b3e..c7a1bcb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -34,7 +34,7 @@ class User # field :failed_attempts, :type => Integer, :default => 0 # Only if lock strategy is :failed_attempts # field :unlock_token, :type => String # Only if unlock strategy is :email or :both # field :locked_at, :type => Time - has_many :oauth_applications, class_name: 'Doorkeeper::Application', as: :owner + # has_many :oauth_applications, class_name: 'Doorkeeper::Application', as: :owner def self.authenticate!(email, password) user = User.where(email: email).first diff --git a/app/uploaders/image_uploader.rb b/app/uploaders/image_uploader.rb index b21ba97..aaff446 100644 --- a/app/uploaders/image_uploader.rb +++ b/app/uploaders/image_uploader.rb @@ -32,10 +32,34 @@ class ImageUploader < CarrierWave::Uploader::Base # end # Create different versions of your uploaded files: - version :thumb do - process :resize_to_fit => [300, 300] + # version :thumb do + # process :resize_to_fit => [300, 300] + # end + + + version :thumb, :if => :has_thumb_size? do + process :dynamic_resize_to_fit => :thumb end + def dynamic_resize_to_fit(size) + resize_to_fit *(model.class::IMAGE_SIZES[size]) + end + + def method_missing(method, *args) + return false if method.to_s.match(/has_(.*)_size\?/) + super + end + +# protected + +# def setup_available_sizes(file) +# model.class::IMAGE_SIZES.keys.each do |key| +# self.class_eval do +# define_method("has_#{key}_size?".to_sym) { true } +# end +# end +# end + # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: # def extension_white_list diff --git a/app/views/extensions/_form.html.erb b/app/views/extensions/_form.html.erb index 5d4db1a..31a2fb5 100644 --- a/app/views/extensions/_form.html.erb +++ b/app/views/extensions/_form.html.erb @@ -35,11 +35,21 @@ <%= f.text_field :repository %> +
+ <%= f.label :price %>

Price of the Module or Template


+ <%= f.number_field :price %> +
+
<%= f.label :git_url %>

From where to bundle the gem


<%= f.text_field :git_url %>
+
+ <%= f.label :tag %>

Tag


+ <%= f.text_field :tag %> +
+ <%= f.file_field :preview %> <%= f.hidden_field :preview_cache %> diff --git a/app/views/extensions/index.html.erb b/app/views/extensions/index.html.erb index 4c41875..e6892c7 100644 --- a/app/views/extensions/index.html.erb +++ b/app/views/extensions/index.html.erb @@ -1,4 +1,4 @@ -
+ + +<%= render :partial => "shared/sort_bar" %> + +<%= render :partial => "shared/item_cluster", :locals => {:type => "extensions", :title => "Popular Apps", :moreLink => "#", :frequency => 12} %> + + +<%= render :partial => "shared/item_cluster", :locals => {:type => "extensions", :title => "New Apps", :moreLink => "#", :frequency => 12} %> + + +<%= render :partial => "shared/item_cluster", :locals => {:type => "extensions", :title => "Preferential Apps", :moreLink => "#", :frequency => 12} %> \ No newline at end of file diff --git a/app/views/extensions/show.html.erb b/app/views/extensions/show.html.erb index 25d7961..5c025e8 100644 --- a/app/views/extensions/show.html.erb +++ b/app/views/extensions/show.html.erb @@ -1,4 +1,4 @@ -

<%= notice %>

+ + +<%= render :partial => "shared/item_details", :locals => {:type => "extensions"} %> \ No newline at end of file diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index c49580a..d47f9eb 100644 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -1,25 +1,9 @@ -

Top Templates

-
- <% @templates.each do |template| %> -
-

<%=link_to template.title, template %>

-

Author: <%= template.author %>

-

<%=image_tag template.preview.thumb.url%>

-

<%= link_to 'View details »'.html_safe ,template, :class=>"btn btn-primary"%>

-
- <%end%> -
- <%= link_to 'More »'.html_safe,templates_path, :class=>"btn btn-danger"%> - -

Top Modules

-
- <% @extensions.each do |extension| %> -
-

<%=link_to extension.title, extension %>

-

Author: <%= extension.author %>

-

<%=image_tag extension.preview.thumb.url%>

-

<%= link_to 'View details »'.html_safe ,extension, :class=>"btn btn-primary"%>

-
- <%end%> -
- <%= link_to 'More »'.html_safe,extensions_path, :class=>"btn btn-danger"%> +<% + a = [ + ["extensions", "Popular Apps", "/extensions"], + ["templates", "New Templates", "/templates"] + ] +%> +<% a.each do |n| %> + <%= render :partial => "shared/item_cluster", :locals => {:type => n[0], :title => n[1], :moreLink => n[2], :frequency => 12} %> +<% end %> \ No newline at end of file diff --git a/app/views/layouts/extension_show.html.erb b/app/views/layouts/extension_show.html.erb new file mode 100644 index 0000000..bc99b58 --- /dev/null +++ b/app/views/layouts/extension_show.html.erb @@ -0,0 +1,10 @@ + + <%= render "shared/header" %> + + <%= render "shared/top_navigation" %> +
+ <%= yield %> +
+ <%= render "shared/footer" %> + + \ No newline at end of file diff --git a/app/views/layouts/product_index.html.erb b/app/views/layouts/product_index.html.erb new file mode 100644 index 0000000..4090984 --- /dev/null +++ b/app/views/layouts/product_index.html.erb @@ -0,0 +1,11 @@ + + <%= render "shared/header" %> + + <%= render "shared/top_navigation" %> + <%= render "shared/banner" %> +
+ <%= yield %> +
+ <%= render "shared/footer" %> + + \ No newline at end of file diff --git a/app/views/layouts/store_index.html.erb b/app/views/layouts/store_index.html.erb new file mode 100644 index 0000000..4090984 --- /dev/null +++ b/app/views/layouts/store_index.html.erb @@ -0,0 +1,11 @@ + + <%= render "shared/header" %> + + <%= render "shared/top_navigation" %> + <%= render "shared/banner" %> +
+ <%= yield %> +
+ <%= render "shared/footer" %> + + \ No newline at end of file diff --git a/app/views/layouts/template_show.html.erb b/app/views/layouts/template_show.html.erb new file mode 100644 index 0000000..bc99b58 --- /dev/null +++ b/app/views/layouts/template_show.html.erb @@ -0,0 +1,10 @@ + + <%= render "shared/header" %> + + <%= render "shared/top_navigation" %> +
+ <%= yield %> +
+ <%= render "shared/footer" %> + + \ No newline at end of file diff --git a/app/views/shared/_banner.html.erb b/app/views/shared/_banner.html.erb new file mode 100644 index 0000000..530a5a9 --- /dev/null +++ b/app/views/shared/_banner.html.erb @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/app/views/shared/_category_list.html.erb b/app/views/shared/_category_list.html.erb new file mode 100644 index 0000000..6c6636f --- /dev/null +++ b/app/views/shared/_category_list.html.erb @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb new file mode 100644 index 0000000..9f05635 --- /dev/null +++ b/app/views/shared/_footer.html.erb @@ -0,0 +1,25 @@ +
+
+
+ <% 1.times do %> +
+ +
+ <% end %> +
+ +
+
\ No newline at end of file diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb new file mode 100644 index 0000000..ab52af6 --- /dev/null +++ b/app/views/shared/_header.html.erb @@ -0,0 +1,20 @@ + + Orbit Store - Module and Template Store for Ruling Orbit + + + + + + + <%= stylesheet_link_tag "store_front/main", media: "screen", "data-turbolinks-track" => true %> + <%= javascript_include_tag "main", "data-turbolinks-track" => true %> + + <%#= javascript_include_tag "require", "data-main" => "assets/javascript/main" %> + <%#= javascript_include_tag "require-config" %> + + \ No newline at end of file diff --git a/app/views/shared/_item_card.html.erb b/app/views/shared/_item_card.html.erb new file mode 100644 index 0000000..16627a1 --- /dev/null +++ b/app/views/shared/_item_card.html.erb @@ -0,0 +1,19 @@ +<% @products = (@templates if type.eql?('templates')) || (@extensions if type.eql?('extensions')) %> +<% @products.each do |product| %> +
+
+
+ <%= link_to "", product, :class=> "details-link" %> +
+ <%= placeholdit_image_tag (type == 'templates' ? "256x180" : '100x100'), background_color: "#3f3f3f" %> +
+
+
+ <%= content_tag(:h2, (link_to product.title, product), :class => "item-title") %> + <%= content_tag(:p, (link_to "Developer: "+product.author, "/"+type+"/developer?id=rulingcom"), :class => "developer-title") %> + <%= render :partial => "shared/stars_rank" if type != 'templates' %> + <%= content_tag(:p, product.price.nil?.eql?(true) ? 'Free' : product.price, :class => "price-container") %> +
+
+
+<% end %> \ No newline at end of file diff --git a/app/views/shared/_item_cluster.html.erb b/app/views/shared/_item_cluster.html.erb new file mode 100644 index 0000000..9eb9e9a --- /dev/null +++ b/app/views/shared/_item_cluster.html.erb @@ -0,0 +1,8 @@ +
+ + <%= headingTitle(title, moreLink) %> + +
+ <%= render :partial => "shared/item_card", :locals => {:type => type, :frequency => frequency} %> +
+
\ No newline at end of file diff --git a/app/views/shared/_item_details.html.erb b/app/views/shared/_item_details.html.erb new file mode 100644 index 0000000..3ec5d2f --- /dev/null +++ b/app/views/shared/_item_details.html.erb @@ -0,0 +1,92 @@ +<% @product = (@template if type.eql?('templates')) || (@extension if type.eql?('extensions')) %> +
+ +
+
+ <%= placeholdit_image_tag (type == "templates" ? "480x300" : (type == "extensions" ? "300x300" : "")), background_color: "#3f3f3f" %> +
+
+

<%= @product.title %>

+
+ <%= link_to(@product.author, "developer/?devid=2rqw9efjq923", :class => "developer") %> + <%= content_tag(:p, (link_to("Education", "/" + type + "?category=Education")), :class => "category") %> +
+

+ + +

+
+
+
+ Report Problem +
+ <%= render :partial => "shared/stars_rank" %> +
+
+
+ +
+
+
    + <% 5.times do %> +
  • + <%= placeholdit_image_tag ("1024x768"), background_color: "#3f3f3f" %> +
  • + <% end %> +
+
+
+ +
+ <%= headingTitle("Description", nil) %> +
+

<%= @product.description %>

+
+
+ …more +
+
+ +
+ <%= headingTitle("Whats New", nil) %> +
+
+ <% (1+rand(3)).times do |n| %> +
3.4<%= n %>
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ <% end %> +
+
+
+ …more +
+
+ + + +
+ <%= headingTitle("Recommendation", "#") %> +
+ <%= render :partial => "shared/item_card", :locals => {:type => type, :frequency => 6} %> +
+
+
+ <%= headingTitle("Other items the same " + (type == "templates" ? "design" : (type == "extensions" ? "developer" : "")), "#") %> +
+ <%= render :partial => "shared/item_card", :locals => {:type => type, :frequency => 6} %> +
+
+
\ No newline at end of file diff --git a/app/views/shared/_sort_bar.html.erb b/app/views/shared/_sort_bar.html.erb new file mode 100644 index 0000000..b017100 --- /dev/null +++ b/app/views/shared/_sort_bar.html.erb @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/app/views/shared/_stars_rank.html.erb b/app/views/shared/_stars_rank.html.erb new file mode 100644 index 0000000..ba478c0 --- /dev/null +++ b/app/views/shared/_stars_rank.html.erb @@ -0,0 +1,6 @@ +<%= content_tag(:div, :class => "stars-rank") do %> + <%= content_tag(:div, (content_tag(:div, "", :class => "star-rating", :style => ("width: "+(10+rand(90)).to_s)+"%")), :class => "stars-container") %> + <%= content_tag(:span, :class => "stars-count") do %> + ( <%= content_tag(:i, nil, :class => "icons-user") + rand(1000).to_s %> ) + <% end %> +<% end %> \ No newline at end of file diff --git a/app/views/shared/_top_navigation.html.erb b/app/views/shared/_top_navigation.html.erb new file mode 100644 index 0000000..40719a3 --- /dev/null +++ b/app/views/shared/_top_navigation.html.erb @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/app/views/templates/index.html.erb b/app/views/templates/index.html.erb index 4278696..0061f2e 100644 --- a/app/views/templates/index.html.erb +++ b/app/views/templates/index.html.erb @@ -1,4 +1,4 @@ -
+ + +<%= render :partial => "shared/sort_bar" %> + +<%= render :partial => "shared/item_cluster", :locals => {:type => "templates", :title => "New Templates", :moreLink => "#", :frequency => 12} %> + + +<%= render :partial => "shared/item_cluster", :locals => {:type => "templates", :title => "Preferential Templates", :moreLink => "#", :frequency => 12} %> \ No newline at end of file diff --git a/app/views/templates/show.html.erb b/app/views/templates/show.html.erb index 202c59d..5d6adb1 100644 --- a/app/views/templates/show.html.erb +++ b/app/views/templates/show.html.erb @@ -1,4 +1,4 @@ -

<%= notice %>

+ + + <%= render :partial => "shared/item_details", :locals => {:type => "templates"} %> \ No newline at end of file