dashing-beanstalk 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +9 -0
  3. data/bin/dashing +124 -0
  4. data/javascripts/batman.jquery.js +163 -0
  5. data/javascripts/batman.js +13680 -0
  6. data/javascripts/dashing.coffee +125 -0
  7. data/javascripts/es5-shim.js +1021 -0
  8. data/javascripts/jquery.js +4 -0
  9. data/lib/dashing.rb +160 -0
  10. data/lib/scheduler.rb +58 -0
  11. data/templates/dashboard/%name%.erb.tt +7 -0
  12. data/templates/job/%name%.rb +4 -0
  13. data/templates/project/.gitignore +2 -0
  14. data/templates/project/Gemfile +6 -0
  15. data/templates/project/README.md +1 -0
  16. data/templates/project/assets/fonts/fontawesome-webfont.eot +0 -0
  17. data/templates/project/assets/fonts/fontawesome-webfont.svg +399 -0
  18. data/templates/project/assets/fonts/fontawesome-webfont.ttf +0 -0
  19. data/templates/project/assets/fonts/fontawesome-webfont.woff +0 -0
  20. data/templates/project/assets/images/logo.png +0 -0
  21. data/templates/project/assets/javascripts/application.coffee +25 -0
  22. data/templates/project/assets/javascripts/d3-3.2.8.js +5 -0
  23. data/templates/project/assets/javascripts/dashing.gridster.coffee +37 -0
  24. data/templates/project/assets/javascripts/gridster/jquery.gridster.js +3263 -0
  25. data/templates/project/assets/javascripts/gridster/jquery.leanModal.min.js +5 -0
  26. data/templates/project/assets/javascripts/jquery.knob.js +646 -0
  27. data/templates/project/assets/javascripts/rickshaw-1.4.3.min.js +2 -0
  28. data/templates/project/assets/stylesheets/application.scss +257 -0
  29. data/templates/project/assets/stylesheets/font-awesome.css +1479 -0
  30. data/templates/project/assets/stylesheets/jquery.gridster.css +57 -0
  31. data/templates/project/config.ru +18 -0
  32. data/templates/project/dashboards/layout.erb +32 -0
  33. data/templates/project/dashboards/sample.erb +25 -0
  34. data/templates/project/dashboards/sampletv.erb +56 -0
  35. data/templates/project/jobs/buzzwords.rb +9 -0
  36. data/templates/project/jobs/convergence.rb +14 -0
  37. data/templates/project/jobs/sample.rb +13 -0
  38. data/templates/project/jobs/twitter.rb +28 -0
  39. data/templates/project/lib/.empty_directory +1 -0
  40. data/templates/project/public/404.html +26 -0
  41. data/templates/project/public/favicon.ico +0 -0
  42. data/templates/project/widgets/clock/clock.coffee +18 -0
  43. data/templates/project/widgets/clock/clock.html +2 -0
  44. data/templates/project/widgets/clock/clock.scss +13 -0
  45. data/templates/project/widgets/comments/comments.coffee +24 -0
  46. data/templates/project/widgets/comments/comments.html +7 -0
  47. data/templates/project/widgets/comments/comments.scss +33 -0
  48. data/templates/project/widgets/graph/graph.coffee +36 -0
  49. data/templates/project/widgets/graph/graph.html +5 -0
  50. data/templates/project/widgets/graph/graph.scss +65 -0
  51. data/templates/project/widgets/iframe/iframe.coffee +9 -0
  52. data/templates/project/widgets/iframe/iframe.html +1 -0
  53. data/templates/project/widgets/iframe/iframe.scss +8 -0
  54. data/templates/project/widgets/image/image.coffee +9 -0
  55. data/templates/project/widgets/image/image.html +1 -0
  56. data/templates/project/widgets/image/image.scss +13 -0
  57. data/templates/project/widgets/list/list.coffee +6 -0
  58. data/templates/project/widgets/list/list.html +18 -0
  59. data/templates/project/widgets/list/list.scss +60 -0
  60. data/templates/project/widgets/meter/meter.coffee +14 -0
  61. data/templates/project/widgets/meter/meter.html +7 -0
  62. data/templates/project/widgets/meter/meter.scss +35 -0
  63. data/templates/project/widgets/number/number.coffee +24 -0
  64. data/templates/project/widgets/number/number.html +11 -0
  65. data/templates/project/widgets/number/number.scss +39 -0
  66. data/templates/project/widgets/text/text.coffee +1 -0
  67. data/templates/project/widgets/text/text.html +7 -0
  68. data/templates/project/widgets/text/text.scss +32 -0
  69. data/templates/widget/%name%/%name%.coffee.tt +9 -0
  70. data/templates/widget/%name%/%name%.html +1 -0
  71. data/templates/widget/%name%/%name%.scss.tt +3 -0
  72. metadata +272 -0
@@ -0,0 +1,2 @@
1
+ var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i<length;i++){var currentPart=parts[i];parent[currentPart]=parent[currentPart]||{};parent=parent[currentPart]}return parent},keys:function(obj){var keys=[];for(var key in obj)keys.push(key);return keys},extend:function(destination,source){for(var property in source){destination[property]=source[property]}return destination},clone:function(obj){return JSON.parse(JSON.stringify(obj))}};if(typeof module!=="undefined"&&module.exports){var d3=require("d3");module.exports=Rickshaw}(function(globalContext){var _toString=Object.prototype.toString,NULL_TYPE="Null",UNDEFINED_TYPE="Undefined",BOOLEAN_TYPE="Boolean",NUMBER_TYPE="Number",STRING_TYPE="String",OBJECT_TYPE="Object",FUNCTION_CLASS="[object Function]";function isFunction(object){return _toString.call(object)===FUNCTION_CLASS}function extend(destination,source){for(var property in source)if(source.hasOwnProperty(property))destination[property]=source[property];return destination}function keys(object){if(Type(object)!==OBJECT_TYPE){throw new TypeError}var results=[];for(var property in object){if(object.hasOwnProperty(property)){results.push(property)}}return results}function Type(o){switch(o){case null:return NULL_TYPE;case void 0:return UNDEFINED_TYPE}var type=typeof o;switch(type){case"boolean":return BOOLEAN_TYPE;case"number":return NUMBER_TYPE;case"string":return STRING_TYPE}return OBJECT_TYPE}function isUndefined(object){return typeof object==="undefined"}var slice=Array.prototype.slice;function argumentNames(fn){var names=fn.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return names.length==1&&!names[0]?[]:names}function wrap(fn,wrapper){var __method=fn;return function(){var a=update([bind(__method,this)],arguments);return wrapper.apply(this,a)}}function update(array,args){var arrayLength=array.length,length=args.length;while(length--)array[arrayLength+length]=args[length];return array}function merge(array,args){array=slice.call(array,0);return update(array,args)}function bind(fn,context){if(arguments.length<2&&isUndefined(arguments[0]))return this;var __method=fn,args=slice.call(arguments,2);return function(){var a=merge(args,arguments);return __method.apply(context,a)}}var emptyFunction=function(){};var Class=function(){var IS_DONTENUM_BUGGY=function(){for(var p in{toString:1}){if(p==="toString")return false}return true}();function subclass(){}function create(){var parent=null,properties=[].slice.apply(arguments);if(isFunction(properties[0]))parent=properties.shift();function klass(){this.initialize.apply(this,arguments)}extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){subclass.prototype=parent.prototype;klass.prototype=new subclass;try{parent.subclasses.push(klass)}catch(e){}}for(var i=0,length=properties.length;i<length;i++)klass.addMethods(properties[i]);if(!klass.prototype.initialize)klass.prototype.initialize=emptyFunction;klass.prototype.constructor=klass;return klass}function addMethods(source){var ancestor=this.superclass&&this.superclass.prototype,properties=keys(source);if(IS_DONTENUM_BUGGY){if(source.toString!=Object.prototype.toString)properties.push("toString");if(source.valueOf!=Object.prototype.valueOf)properties.push("valueOf")}for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&isFunction(value)&&argumentNames(value)[0]=="$super"){var method=value;value=wrap(function(m){return function(){return ancestor[m].apply(this,arguments)}}(property),method);value.valueOf=bind(method.valueOf,method);value.toString=bind(method.toString,method)}this.prototype[property]=value}return this}return{create:create,Methods:{addMethods:addMethods}}}();if(globalContext.exports){globalContext.exports.Class=Class}else{globalContext.Class=Class}})(Rickshaw);Rickshaw.namespace("Rickshaw.Compat.ClassList");Rickshaw.Compat.ClassList=function(){if(typeof document!=="undefined"&&!("classList"in document.createElement("a"))){(function(view){"use strict";var classListProp="classList",protoProp="prototype",elemCtrProto=(view.HTMLElement||view.Element)[protoProp],objCtr=Object,strTrim=String[protoProp].trim||function(){return this.replace(/^\s+|\s+$/g,"")},arrIndexOf=Array[protoProp].indexOf||function(item){var i=0,len=this.length;for(;i<len;i++){if(i in this&&this[i]===item){return i}}return-1},DOMEx=function(type,message){this.name=type;this.code=DOMException[type];this.message=message},checkTokenAndGetIndex=function(classList,token){if(token===""){throw new DOMEx("SYNTAX_ERR","An invalid or illegal string was specified")}if(/\s/.test(token)){throw new DOMEx("INVALID_CHARACTER_ERR","String contains an invalid character")}return arrIndexOf.call(classList,token)},ClassList=function(elem){var trimmedClasses=strTrim.call(elem.className),classes=trimmedClasses?trimmedClasses.split(/\s+/):[],i=0,len=classes.length;for(;i<len;i++){this.push(classes[i])}this._updateClassName=function(){elem.className=this.toString()}},classListProto=ClassList[protoProp]=[],classListGetter=function(){return new ClassList(this)};DOMEx[protoProp]=Error[protoProp];classListProto.item=function(i){return this[i]||null};classListProto.contains=function(token){token+="";return checkTokenAndGetIndex(this,token)!==-1};classListProto.add=function(token){token+="";if(checkTokenAndGetIndex(this,token)===-1){this.push(token);this._updateClassName()}};classListProto.remove=function(token){token+="";var index=checkTokenAndGetIndex(this,token);if(index!==-1){this.splice(index,1);this._updateClassName()}};classListProto.toggle=function(token){token+="";if(checkTokenAndGetIndex(this,token)===-1){this.add(token)}else{this.remove(token)}};classListProto.toString=function(){return this.join(" ")};if(objCtr.defineProperty){var classListPropDesc={get:classListGetter,enumerable:true,configurable:true};try{objCtr.defineProperty(elemCtrProto,classListProp,classListPropDesc)}catch(ex){if(ex.number===-2146823252){classListPropDesc.enumerable=false;objCtr.defineProperty(elemCtrProto,classListProp,classListPropDesc)}}}else if(objCtr[protoProp].__defineGetter__){elemCtrProto.__defineGetter__(classListProp,classListGetter)}})(window)}};if(typeof RICKSHAW_NO_COMPAT!=="undefined"&&!RICKSHAW_NO_COMPAT||typeof RICKSHAW_NO_COMPAT==="undefined"){new Rickshaw.Compat.ClassList}Rickshaw.namespace("Rickshaw.Graph");Rickshaw.Graph=function(args){if(!args.element)throw"Rickshaw.Graph needs a reference to an element";this.element=args.element;this.series=args.series;this.defaults={interpolation:"cardinal",offset:"zero",min:undefined,max:undefined,preserve:false};Rickshaw.keys(this.defaults).forEach(function(k){this[k]=args[k]||this.defaults[k]},this);this.window={};this.updateCallbacks=[];var self=this;this.initialize=function(args){this.validateSeries(args.series);this.series.active=function(){return self.series.filter(function(s){return!s.disabled})};this.setSize({width:args.width,height:args.height});this.element.classList.add("rickshaw_graph");this.vis=d3.select(this.element).append("svg:svg").attr("width",this.width).attr("height",this.height);for(var name in Rickshaw.Graph.Renderer){if(!name||!Rickshaw.Graph.Renderer.hasOwnProperty(name))continue;var r=Rickshaw.Graph.Renderer[name];if(!r||!r.prototype||!r.prototype.render)continue;self.registerRenderer(new r({graph:self}))}this.setRenderer(args.renderer||"stack",args);this.discoverRange()};this.validateSeries=function(series){if(!Array.isArray(series)&&!(series instanceof Rickshaw.Series)){var seriesSignature=Object.prototype.toString.apply(series);throw"series is not an array: "+seriesSignature}var pointsCount;series.forEach(function(s){if(!(s instanceof Object)){throw"series element is not an object: "+s}if(!s.data){throw"series has no data: "+JSON.stringify(s)}if(!Array.isArray(s.data)){throw"series data is not an array: "+JSON.stringify(s.data)}var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}if(s.data.length>=3){if(s.data[2].x<s.data[1].x||s.data[1].x<s.data[0].x||s.data[s.data.length-1].x<s.data[0].x){throw"series data needs to be sorted on x values for series name: "+s.name}}},this)};this.dataDomain=function(){var data=this.series.map(function(s){return s.data});var min=d3.min(data.map(function(d){return d[0].x}));var max=d3.max(data.map(function(d){return d[d.length-1].x}));return[min,max]};this.discoverRange=function(){var domain=this.renderer.domain();this.x=d3.scale.linear().domain(domain.x).range([0,this.width]);this.y=d3.scale.linear().domain(domain.y).range([this.height,0]);this.y.magnitude=d3.scale.linear().domain([domain.y[0]-domain.y[0],domain.y[1]-domain.y[0]]).range([0,this.height])};this.render=function(){var stackedData=this.stackData();this.discoverRange();this.renderer.render();this.updateCallbacks.forEach(function(callback){callback()})};this.update=this.render;this.stackData=function(){var data=this.series.active().map(function(d){return d.data}).map(function(d){return d.filter(function(d){return this._slice(d)},this)},this);var preserve=this.preserve;if(!preserve){this.series.forEach(function(series){if(series.scale){preserve=true}})}data=preserve?Rickshaw.clone(data):data;this.series.active().forEach(function(series,index){if(series.scale){var seriesData=data[index];if(seriesData){seriesData.forEach(function(d){d.y=series.scale(d.y)})}}});this.stackData.hooks.data.forEach(function(entry){data=entry.f.apply(self,[data])});var stackedData;if(!this.renderer.unstack){this._validateStackable();var layout=d3.layout.stack();layout.offset(self.offset);stackedData=layout(data)}stackedData=stackedData||data;this.stackData.hooks.after.forEach(function(entry){stackedData=entry.f.apply(self,[data])});var i=0;this.series.forEach(function(series){if(series.disabled)return;series.stack=stackedData[i++]});this.stackedData=stackedData;return stackedData};this._validateStackable=function(){var series=this.series;var pointsCount;series.forEach(function(s){pointsCount=pointsCount||s.data.length;if(pointsCount&&s.data.length!=pointsCount){throw"stacked series cannot have differing numbers of points: "+pointsCount+" vs "+s.data.length+"; see Rickshaw.Series.fill()"}},this)};this.stackData.hooks={data:[],after:[]};this._slice=function(d){if(this.window.xMin||this.window.xMax){var isInRange=true;if(this.window.xMin&&d.x<this.window.xMin)isInRange=false;if(this.window.xMax&&d.x>this.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);this.setRenderer(args.renderer||this.renderer.name,args)};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var tzOffset=(new Date).getTimezoneOffset()*60;var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var nearFuture;var rounded;if(unit.name=="month"){nearFuture=new Date((time+unit.seconds-1)*1e3);rounded=new Date(0);rounded.setUTCFullYear(nearFuture.getUTCFullYear());rounded.setUTCMonth(nearFuture.getUTCMonth());rounded.setUTCDate(1);rounded.setUTCHours(0);rounded.setUTCMinutes(0);rounded.setUTCSeconds(0);rounded.setUTCMilliseconds(0);return rounded.getTime()/1e3}if(unit.name=="year"){nearFuture=new Date((time+unit.seconds-1)*1e3);rounded=new Date(0);rounded.setUTCFullYear(nearFuture.getUTCFullYear());rounded.setUTCMonth(0);rounded.setUTCDate(1);rounded.setUTCHours(0);rounded.setUTCMinutes(0);rounded.setUTCSeconds(0);rounded.setUTCMilliseconds(0);return rounded.getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var tzOffset=(new Date).getTimezoneOffset()*60;var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var nearFuture;var rounded;if(unit.name=="day"){nearFuture=new Date((time+unit.seconds-1)*1e3);rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){nearFuture=new Date((time+unit.seconds-1)*1e3);rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(1);rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="year"){nearFuture=new Date((time+unit.seconds-1)*1e3);rounded=new Date(0);rounded.setFullYear(nearFuture.getFullYear());rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(1);rounded.setMonth(0);return rounded.getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;i<schemeCount;i++){scheme.push(this.scheme[i]);var generator=d3.interpolateHsl(this.scheme[i],this.scheme[i+1]);for(j=1;j<args.interpolatedStopCount;j++){scheme.push(generator(1/args.interpolatedStopCount*j))}}scheme.push(this.scheme[this.scheme.length-1]);this.scheme=scheme}this.rotateCount=this.scheme.length;this.color=function(key){return this.scheme[key]||this.scheme[this.runningIndex++]||this.interpolateColor()||"#808080"};this.interpolateColor=function(){if(!Array.isArray(this.scheme))return;var color;if(this.generatorIndex==this.rotateCount*2-1){color=d3.interpolateHsl(this.scheme[this.generatorIndex],this.scheme[0])(.5);this.generatorIndex=0;this.rotateCount*=2}else{color=d3.interpolateHsl(this.scheme[this.generatorIndex],this.scheme[this.generatorIndex+1])(.5);this.generatorIndex++}this.scheme.push(color);return color}};Rickshaw.namespace("Rickshaw.Graph.Ajax");Rickshaw.Graph.Ajax=Rickshaw.Class.create({initialize:function(args){this.dataURL=args.dataURL;this.onData=args.onData||function(d){return d};this.onComplete=args.onComplete||function(){};this.onError=args.onError||function(){};this.args=args;this.request()},request:function(){$.ajax({url:this.dataURL,dataType:"json",success:this.success.bind(this),error:this.error.bind(this)})},error:function(){console.log("error loading dataURL: "+this.dataURL);this.onError(this)},success:function(data,status){data=this.onData(data);this.args.series=this._splice({data:data,series:this.args.series});this.graph=this.graph||new Rickshaw.Graph(this.args);this.graph.render();this.onComplete(this)},_splice:function(args){var data=args.data;var series=args.series;if(!args.series)return data;series.forEach(function(s){var seriesKey=s.key||s.name;if(!seriesKey)throw"series needs a key or a name";data.forEach(function(d){var dataKey=d.key||d.name;if(!dataKey)throw"data needs a key or a name";if(seriesKey==dataKey){var properties=["color","name","data"];properties.forEach(function(p){if(d[p])s[p]=d[p]})}})});return series}});Rickshaw.namespace("Rickshaw.Graph.Annotate");Rickshaw.Graph.Annotate=function(args){var graph=this.graph=args.graph;this.elements={timeline:args.element};var self=this;this.data={};this.elements.timeline.classList.add("rickshaw_annotation_timeline");this.add=function(time,content,end_time){self.data[time]=self.data[time]||{boxes:[]};self.data[time].boxes.push({content:content,end:end_time})};this.update=function(){Rickshaw.keys(self.data).forEach(function(time){var annotation=self.data[time];var left=self.graph.x(time);if(left<0||left>self.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;i<count;i++){var tickValue=time.ceil(runningTick,unit);runningTick=tickValue+unit.seconds/2;offsets.push({value:tickValue,unit:unit})}return offsets};this.render=function(){this.elements.forEach(function(e){e.parentNode.removeChild(e)});this.elements=[];var offsets=this.tickOffsets();offsets.forEach(function(o){if(self.graph.x(o.value)>self.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize));this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize))}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var adjustedScale=this.scale.copy().range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line,index){if(l===line){if(index>0&&self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.length-index-1;
2
+ line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.$=="undefined"){throw"couldn't find jQuery at window.$"}if(typeof window.$.ui=="undefined"){throw"couldn't find jQuery UI at window.$.ui"}$(function(){$(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];$(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});$(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="&#10004;";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;i<self.legend.lines.length;i++){var l=self.legend.lines[i];if(line.series===l.series){}else if(l.series.disabled){}else{disableAllOtherLines=true;break}}}if(disableAllOtherLines){line.series.enable();line.element.classList.remove("disabled");self.legend.lines.forEach(function(l){if(line.series===l.series){}else{l.series.disable();l.element.classList.add("disabled")}})}else{self.legend.lines.forEach(function(l){l.series.enable();l.element.classList.remove("disabled")})}}};if(this.legend){if(typeof $!="undefined"&&$(this.legend.list).sortable){$(this.legend.list).sortable({start:function(event,ui){ui.item.bind("no.onclick",function(event){event.preventDefault()})},stop:function(event,ui){setTimeout(function(){ui.item.unbind("no.onclick")},250)}})}this.legend.lines.forEach(function(l){self.addAnchor(l)})}this._addBehavior=function(){this.graph.series.forEach(function(s){s.disable=function(){if(self.graph.series.length<=1){throw"only one series left"}s.disabled=true;self.graph.update()};s.enable=function(){s.disabled=false;self.graph.update()}})};this._addBehavior();this.updateBehaviour=function(){this._addBehavior()}};Rickshaw.namespace("Rickshaw.Graph.HoverDetail");Rickshaw.Graph.HoverDetail=Rickshaw.Class.create({initialize:function(args){var graph=this.graph=args.graph;this.xFormatter=args.xFormatter||function(x){return new Date(x*1e3).toUTCString()};this.yFormatter=args.yFormatter||function(y){return y===null?y:y.toFixed(2)};var element=this.element=document.createElement("div");element.className="detail";this.visible=true;graph.element.appendChild(element);this.lastEvent=null;this._addListeners();this.onShow=args.onShow;this.onHide=args.onHide;this.onRender=args.onRender;this.formatter=args.formatter||this.formatter},formatter:function(series,x,y,formattedX,formattedY,d){return series.name+":&nbsp;"+formattedY},update:function(e){e=e||this.lastEvent;if(!e)return;this.lastEvent=e;if(!e.target.nodeName.match(/^(path|svg|rect|circle)$/))return;var graph=this.graph;var eventX=e.offsetX||e.layerX;var eventY=e.offsetY||e.layerY;var j=0;var points=[];var nearestPoint;this.graph.series.active().forEach(function(series){var data=this.graph.stackedData[j++];if(!data.length)return;var domainX=graph.x.invert(eventX);var domainIndexScale=d3.scale.linear().domain([data[0].x,data.slice(-1)[0].x]).range([0,data.length-1]);var approximateIndex=Math.round(domainIndexScale(domainX));if(approximateIndex==data.length-1)approximateIndex--;var dataIndex=Math.min(approximateIndex||0,data.length-1);for(var i=approximateIndex;i<data.length-1;){if(!data[i]||!data[i+1])break;if(data[i].x<=domainX&&data[i+1].x>domainX){dataIndex=Math.abs(domainX-data[i].x)<Math.abs(domainX-data[i+1].x)?i:i+1;break}if(data[i+1].x<=domainX){i++}else{i--}}if(dataIndex<0)dataIndex=0;var value=data[dataIndex];var distance=Math.sqrt(Math.pow(Math.abs(graph.x(value.x)-eventX),2)+Math.pow(Math.abs(graph.y(value.y+value.y0)-eventY),2));var xFormatter=series.xFormatter||this.xFormatter;var yFormatter=series.yFormatter||this.yFormatter;var point={formattedXValue:xFormatter(value.x),formattedYValue:yFormatter(series.scale?series.scale.invert(value.y):value.y),series:series,value:value,distance:distance,order:j,name:series.name};if(!nearestPoint||distance<nearestPoint.distance){nearestPoint=point}points.push(point)},this);if(!nearestPoint)return;nearestPoint.active=true;var domainX=nearestPoint.value.x;var formattedXValue=nearestPoint.formattedXValue;this.element.innerHTML="";this.element.style.left=graph.x(domainX)+"px";this.visible&&this.render({points:points,detail:points,mouseX:eventX,mouseY:eventY,formattedXValue:formattedXValue,domainX:domainX})},hide:function(){this.visible=false;this.element.classList.add("inactive");if(typeof this.onHide=="function"){this.onHide()}},show:function(){this.visible=true;this.element.classList.remove("inactive");if(typeof this.onShow=="function"){this.onShow()}},render:function(args){var graph=this.graph;var points=args.points;var point=points.filter(function(p){return p.active}).shift();if(point.value.y===null)return;var formattedXValue=point.formattedXValue;var formattedYValue=point.formattedYValue;this.element.innerHTML="";this.element.style.left=graph.x(point.value.x)+"px";var xLabel=document.createElement("div");xLabel.className="x_label";xLabel.innerHTML=formattedXValue;this.element.appendChild(xLabel);var item=document.createElement("div");item.className="item";var series=point.series;var actualY=series.scale?series.scale.invert(point.value.y):point.value.y;item.innerHTML=this.formatter(series,point.value.x,actualY,formattedXValue,formattedYValue,point);item.style.top=this.graph.y(point.value.y0+point.value.y)+"px";this.element.appendChild(item);var dot=document.createElement("div");dot.className="dot";dot.style.top=item.style.top;dot.style.borderColor=series.color;this.element.appendChild(dot);if(point.active){item.className="item active";dot.className="dot active"}this.show();if(typeof this.onRender=="function"){this.onRender(args)}},_addListeners:function(){this.graph.element.addEventListener("mousemove",function(e){this.visible=true;this.update(e)}.bind(this),false);this.graph.onUpdate(function(){this.update()}.bind(this));this.graph.element.addEventListener("mouseout",function(e){if(e.relatedTarget&&!(e.relatedTarget.compareDocumentPosition(this.graph.element)&Node.DOCUMENT_POSITION_CONTAINS)){this.hide()}}.bind(this),false)}});Rickshaw.namespace("Rickshaw.Graph.JSONP");Rickshaw.Graph.JSONP=Rickshaw.Class.create(Rickshaw.Graph.Ajax,{request:function(){$.ajax({url:this.dataURL,dataType:"jsonp",success:this.success.bind(this),error:this.error.bind(this)})}});Rickshaw.namespace("Rickshaw.Graph.Legend");Rickshaw.Graph.Legend=function(args){var element=this.element=args.element;var graph=this.graph=args.graph;var self=this;element.classList.add("rickshaw_legend");var list=this.list=document.createElement("ul");element.appendChild(list);var series=graph.series.map(function(s){return s});if(!args.naturalOrder){series=series.reverse()}this.lines=[];this.addLine=function(series){var line=document.createElement("li");line.className="line";if(series.disabled){line.className+=" disabled"}var swatch=document.createElement("div");swatch.className="swatch";swatch.style.backgroundColor=series.color;line.appendChild(swatch);var label=document.createElement("span");label.className="label";label.innerHTML=series.name;line.appendChild(label);list.appendChild(line);line.series=series;if(series.noLegend){line.style.display="none"}var _line={element:line,series:series};if(self.shelving){self.shelving.addAnchor(_line);self.shelving.updateBehaviour()}if(self.highlighter){self.highlighter.addHighlightEvents(_line)}self.lines.push(_line)};series.forEach(function(s){self.addLine(s)});graph.onUpdate(function(){})};Rickshaw.namespace("Rickshaw.Graph.RangeSlider");Rickshaw.Graph.RangeSlider=Rickshaw.Class.create({initialize:function(args){var element=this.element=args.element;var graph=this.graph=args.graph;this.build();graph.onUpdate(function(){this.update()}.bind(this))},build:function(){var element=this.element;var graph=this.graph;var domain=graph.dataDomain();$(function(){$(element).slider({range:true,min:domain[0],max:domain[1],values:[domain[0],domain[1]],slide:function(event,ui){if(ui.values[1]<=ui.values[0])return;graph.window.xMin=ui.values[0];graph.window.xMax=ui.values[1];graph.update();var domain=graph.dataDomain();if(domain[0]==ui.values[0]){graph.window.xMin=undefined}if(domain[1]==ui.values[1]){graph.window.xMax=undefined}}})});element[0].style.width=graph.width+"px"},update:function(){var element=this.element;var graph=this.graph;var values=$(element).slider("option","values");var domain=graph.dataDomain();$(element).slider("option","min",domain[0]);$(element).slider("option","max",domain[1]);if(graph.window.xMin==null){values[0]=domain[0]}if(graph.window.xMax==null){values[1]=domain[1]}$(element).slider("option","values",values)}});Rickshaw.namespace("Rickshaw.Graph.Renderer");Rickshaw.Graph.Renderer=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.tension=args.tension||this.tension;this.graph.unstacker=this.graph.unstacker||new Rickshaw.Graph.Unstacker({graph:this.graph});this.configure(args)},seriesPathFactory:function(){},seriesStrokeFactory:function(){},defaults:function(){return{tension:.8,strokeWidth:2,unstack:true,padding:{top:.01,right:0,bottom:.01,left:0},stroke:false,fill:false}},domain:function(data){var stackedData=data||this.graph.stackedData||this.graph.stackData();var firstPoint=stackedData[0][0];if(firstPoint===undefined){return{x:[null,null],y:[null,null]}}var xMin=firstPoint.x;var xMax=firstPoint.x;var yMin=firstPoint.y+firstPoint.y0;var yMax=firstPoint.y+firstPoint.y0;stackedData.forEach(function(series){series.forEach(function(d){if(d.y==null)return;var y=d.y+d.y0;if(y<yMin)yMin=y;if(y>yMax)yMax=y});if(series[0].x<xMin)xMin=series[0].x;if(series[series.length-1].x>xMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var nodes=vis.selectAll("path").data(data).enter().append("svg:path").attr("d",this.seriesPathFactory());var i=0;series.forEach(function(series){if(series.disabled)return;series.path=nodes[0][i++];this._styleSeries(series)},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);series.path.setAttribute("class",series.className)},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x(series.stack[0].x+frequentInterval.magnitude*(1-this.gapSize));return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i<data.length-1;i++){var interval=data[i+1].x-data[i].x;intervalCounts[interval]=intervalCounts[interval]||0;intervalCounts[interval]++}var frequentInterval={count:0,magnitude:1};Rickshaw.keys(intervalCounts).forEach(function(i){if(frequentInterval.count<intervalCounts[i]){frequentInterval={count:intervalCounts[i],magnitude:i}}});return frequentInterval}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Area");Rickshaw.Graph.Renderer.Area=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"area",defaults:function($super){return Rickshaw.extend($super(),{unstack:false,fill:false,stroke:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory},seriesStrokeFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y+d.y0)}).interpolate(graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory},render:function(){var graph=this.graph;graph.vis.selectAll("*").remove();var method=this.unstack?"append":"insert";var nodes=graph.vis.selectAll("path").data(this.graph.stackedData).enter()[method]("svg:g","g");nodes.append("svg:path").attr("d",this.seriesPathFactory()).attr("class","area");if(this.stroke){nodes.append("svg:path").attr("d",this.seriesStrokeFactory()).attr("class","line")}var i=0;graph.series.forEach(function(series){if(series.disabled)return;series.path=nodes[0][i++];this._styleSeries(series)},this)},_styleSeries:function(series){if(!series.path)return;d3.select(series.path).select(".area").attr("fill",series.color);if(this.stroke){d3.select(series.path).select(".line").attr("fill","none").attr("stroke",series.stroke||d3.interpolateRgb(series.color,"black")(.125)).attr("stroke-width",this.strokeWidth)}if(series.className){series.path.setAttribute("class",series.className)}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.ScatterPlot");Rickshaw.Graph.Renderer.ScatterPlot=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"scatterplot",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:true,stroke:false,padding:{top:.01,right:.01,bottom:.01,left:.01},dotSize:4})},initialize:function($super,args){$super(args)},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;var dotSize=this.dotSize;vis.selectAll("*").remove();series.forEach(function(series){if(series.disabled)return;var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:circle").attr("cx",function(d){return graph.x(d.x)}).attr("cy",function(d){return graph.y(d.y)}).attr("r",function(d){return"r"in d?d.r:dotSize});Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)})},this)}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Multi");Rickshaw.Graph.Renderer.Multi=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"multi",initialize:function($super,args){$super(args)},defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},domain:function($super){this.graph.stackData();var domains=[];var groups=this._groups();this._stack(groups);groups.forEach(function(group){var data=group.series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});if(!data.length)return;var domain=$super(data);domains.push(domain)});var xMin=d3.min(domains.map(function(d){return d.x[0]}));var xMax=d3.max(domains.map(function(d){return d.x[1]}));var yMin=d3.min(domains.map(function(d){return d.y[0]}));var yMax=d3.max(domains.map(function(d){return d.y[1]}));return{x:[xMin,xMax],y:[yMin,yMax]}},_groups:function(){var graph=this.graph;var renderGroups={};graph.series.forEach(function(series){if(series.disabled)return;if(!renderGroups[series.renderer]){var ns="http://www.w3.org/2000/svg";var vis=document.createElementNS(ns,"g");graph.vis[0][0].appendChild(vis);var renderer=graph._renderers[series.renderer];renderGroups[series.renderer]={renderer:renderer,series:[],vis:d3.select(vis)}}renderGroups[series.renderer].series.push(series)},this);var groups=[];Object.keys(renderGroups).forEach(function(key){var group=renderGroups[key];groups.push(group)});return groups},_stack:function(groups){groups.forEach(function(group){var series=group.series.filter(function(series){return!series.disabled});var data=series.map(function(series){return series.stack});if(!group.renderer.unstack){var layout=d3.layout.stack();var stackedData=Rickshaw.clone(layout(data));series.forEach(function(series,index){series._stack=Rickshaw.clone(stackedData[index])})}},this);return groups},render:function(){this.graph.series.forEach(function(series){if(!series.renderer){throw new Error("Each series needs a renderer for graph 'multi' renderer")}});this.graph.vis.selectAll("*").remove();var groups=this._groups();groups=this._stack(groups);groups.forEach(function(group){var series=group.series.filter(function(series){return!series.disabled});group.renderer.render({series:series,vis:group.vis});series.forEach(function(s){s.stack=s._stack||s.stack||s.data})})}});Rickshaw.namespace("Rickshaw.Graph.Renderer.LinePlot");Rickshaw.Graph.Renderer.LinePlot=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"lineplot",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true,padding:{top:.01,right:.01,bottom:.01,left:.01},dotSize:3,strokeWidth:2})},initialize:function($super,args){$super(args)},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory},_renderDots:function(){var graph=this.graph;graph.series.forEach(function(series){if(series.disabled)return;var nodes=graph.vis.selectAll("x").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:circle").attr("cx",function(d){return graph.x(d.x)}).attr("cy",function(d){return graph.y(d.y)}).attr("r",function(d){return"r"in d?d.r:graph.renderer.dotSize});Array.prototype.forEach.call(nodes[0],function(n){if(!n)return;n.setAttribute("data-color",series.color);n.setAttribute("fill","white");n.setAttribute("stroke",series.color);n.setAttribute("stroke-width",this.strokeWidth)}.bind(this))},this)},_renderLines:function(){var graph=this.graph;var nodes=graph.vis.selectAll("path").data(this.graph.stackedData).enter().append("svg:path").attr("d",this.seriesPathFactory());var i=0;graph.series.forEach(function(series){if(series.disabled)return;series.path=nodes[0][i++];this._styleSeries(series)},this)},render:function(){var graph=this.graph;graph.vis.selectAll("*").remove();this._renderLines();this._renderDots()}});Rickshaw.namespace("Rickshaw.Graph.Smoother");Rickshaw.Graph.Smoother=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.element=args.element;this.aggregationScale=1;this.build();this.graph.stackData.hooks.data.push({name:"smoother",orderPosition:50,f:this.transformer.bind(this)})},build:function(){var self=this;if(this.element){$(function(){$(self.element).slider({min:1,max:100,slide:function(event,ui){self.setScale(ui.value);self.graph.update()}})})}},setScale:function(scale){if(scale<1){throw"scale out of range: "+scale}this.aggregationScale=scale;this.graph.update()},transformer:function(data){if(this.aggregationScale==1)return data;var aggregatedData=[];data.forEach(function(seriesData){var aggregatedSeriesData=[];while(seriesData.length){var avgX=0,avgY=0;var slice=seriesData.splice(0,this.aggregationScale);slice.forEach(function(d){avgX+=d.x/slice.length;avgY+=d.y/slice.length});aggregatedSeriesData.push({x:avgX,y:avgY})}aggregatedData.push(aggregatedSeriesData)}.bind(this));return aggregatedData}});Rickshaw.namespace("Rickshaw.Graph.Unstacker");Rickshaw.Graph.Unstacker=function(args){this.graph=args.graph;var self=this;this.graph.stackData.hooks.after.push({name:"unstacker",f:function(data){if(!self.graph.renderer.unstack)return data;data.forEach(function(seriesData){seriesData.forEach(function(d){d.y0=0})});return data}})};Rickshaw.namespace("Rickshaw.Series");Rickshaw.Series=Rickshaw.Class.create(Array,{initialize:function(data,palette,options){options=options||{};this.palette=new Rickshaw.Color.Palette(palette);this.timeBase=typeof options.timeBase==="undefined"?Math.floor((new Date).getTime()/1e3):options.timeBase;var timeInterval=typeof options.timeInterval=="undefined"?1e3:options.timeInterval;this.setTimeInterval(timeInterval);if(data&&typeof data=="object"&&Array.isArray(data)){data.forEach(function(item){this.addItem(item)},this)}},addItem:function(item){if(typeof item.name==="undefined"){throw"addItem() needs a name"}item.color=item.color||this.palette.color(item.name);item.data=item.data||[];if(item.data.length===0&&this.length&&this.getIndex()>0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i<this.length;i++){if(this[i].name==name)return this[i]}},setTimeInterval:function(iv){this.timeInterval=iv/1e3},setTimeBase:function(t){this.timeBase=t},dump:function(){var data={timeBase:this.timeBase,timeInterval:this.timeInterval,items:[]};this.forEach(function(item){var newItem={color:item.color,name:item.name,data:[]};item.data.forEach(function(plot){newItem.data.push({x:plot.x,y:plot.y})});data.items.push(newItem)});return data},load:function(data){if(data.timeInterval){this.timeInterval=data.timeInterval}if(data.timeBase){this.timeBase=data.timeBase}if(data.items){data.items.forEach(function(item){this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},this)}}});Rickshaw.Series.zeroFill=function(series){Rickshaw.Series.fill(series,0)};Rickshaw.Series.fill=function(series,fill){var x;var i=0;var data=series.map(function(s){return s.data});while(i<Math.max.apply(null,data.map(function(d){return d.length}))){x=Math.min.apply(null,data.filter(function(d){return d[i]}).map(function(d){return d[i].x}));data.forEach(function(d){if(!d[i]||d[i].x!=x){d.splice(i,0,{x:x,y:fill})}});i++}};Rickshaw.namespace("Rickshaw.Series.FixedDuration");Rickshaw.Series.FixedDuration=Rickshaw.Class.create(Rickshaw.Series,{initialize:function(data,palette,options){options=options||{};if(typeof options.timeInterval==="undefined"){throw new Error("FixedDuration series requires timeInterval")}if(typeof options.maxDataPoints==="undefined"){throw new Error("FixedDuration series requires maxDataPoints")}this.palette=new Rickshaw.Color.Palette(palette);this.timeBase=typeof options.timeBase==="undefined"?Math.floor((new Date).getTime()/1e3):options.timeBase;this.setTimeInterval(options.timeInterval);if(this[0]&&this[0].data&&this[0].data.length){this.currentSize=this[0].data.length;this.currentIndex=this[0].data.length}else{this.currentSize=0;this.currentIndex=0}this.maxDataPoints=options.maxDataPoints;if(data&&typeof data=="object"&&Array.isArray(data)){data.forEach(function(item){this.addItem(item)},this);this.currentSize+=1;this.currentIndex+=1}this.timeBase-=(this.maxDataPoints-this.currentSize)*this.timeInterval;if(typeof this.maxDataPoints!=="undefined"&&this.currentSize<this.maxDataPoints){for(var i=this.maxDataPoints-this.currentSize-1;i>1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});
@@ -0,0 +1,257 @@
1
+ /*
2
+ //=require_directory .
3
+ //=require_tree ../../widgets
4
+ */
5
+ // ----------------------------------------------------------------------------
6
+ // Sass declarations
7
+ // ----------------------------------------------------------------------------
8
+ $background-color: #222;
9
+ $text-color: #fff;
10
+
11
+ $background-warning-color-1: #e82711;
12
+ $background-warning-color-2: #9b2d23;
13
+ $text-warning-color: #fff;
14
+
15
+ $background-danger-color-1: #eeae32;
16
+ $background-danger-color-2: #ff9618;
17
+ $text-danger-color: #fff;
18
+
19
+ @-webkit-keyframes status-warning-background {
20
+ 0% { background-color: $background-warning-color-1; }
21
+ 50% { background-color: $background-warning-color-2; }
22
+ 100% { background-color: $background-warning-color-1; }
23
+ }
24
+ @-webkit-keyframes status-danger-background {
25
+ 0% { background-color: $background-danger-color-1; }
26
+ 50% { background-color: $background-danger-color-2; }
27
+ 100% { background-color: $background-danger-color-1; }
28
+ }
29
+ @mixin animation($animation-name, $duration, $function, $animation-iteration-count:""){
30
+ -webkit-animation: $animation-name $duration $function #{$animation-iteration-count};
31
+ -moz-animation: $animation-name $duration $function #{$animation-iteration-count};
32
+ -ms-animation: $animation-name $duration $function #{$animation-iteration-count};
33
+ }
34
+
35
+ // ----------------------------------------------------------------------------
36
+ // Base styles
37
+ // ----------------------------------------------------------------------------
38
+ html {
39
+ font-size: 100%;
40
+ -webkit-text-size-adjust: 100%;
41
+ -ms-text-size-adjust: 100%;
42
+ }
43
+
44
+ body {
45
+ margin: 0;
46
+ background-color: $background-color;
47
+ font-size: 20px;
48
+ color: $text-color;
49
+ font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
50
+ }
51
+
52
+ b, strong {
53
+ font-weight: bold;
54
+ }
55
+
56
+ a {
57
+ text-decoration: none;
58
+ color: inherit;
59
+ }
60
+
61
+ img {
62
+ border: 0;
63
+ -ms-interpolation-mode: bicubic;
64
+ vertical-align: middle;
65
+ }
66
+
67
+ img, object {
68
+ max-width: 100%;
69
+ }
70
+
71
+ iframe {
72
+ max-width: 100%;
73
+ }
74
+
75
+ table {
76
+ border-collapse: collapse;
77
+ border-spacing: 0;
78
+ width: 100%;
79
+ }
80
+
81
+ td {
82
+ vertical-align: middle;
83
+ }
84
+
85
+ ul, ol {
86
+ padding: 0;
87
+ margin: 0;
88
+ }
89
+
90
+ h1, h2, h3, h4, h5, p {
91
+ padding: 0;
92
+ margin: 0;
93
+ }
94
+ h1 {
95
+ margin-bottom: 12px;
96
+ text-align: center;
97
+ font-size: 30px;
98
+ font-weight: 400;
99
+ }
100
+ h2 {
101
+ text-transform: uppercase;
102
+ font-size: 76px;
103
+ font-weight: 700;
104
+ color: $text-color;
105
+ }
106
+ h3 {
107
+ font-size: 25px;
108
+ font-weight: 600;
109
+ color: $text-color;
110
+ }
111
+
112
+ // ----------------------------------------------------------------------------
113
+ // Base widget styles
114
+ // ----------------------------------------------------------------------------
115
+ .gridster {
116
+ margin: 0px auto;
117
+ }
118
+
119
+ .icon-background {
120
+ width: 100%!important;
121
+ height: 100%;
122
+ position: absolute;
123
+ left: 0;
124
+ top: 0;
125
+ opacity: 0.1;
126
+ font-size: 275px;
127
+ text-align: center;
128
+ margin-top: 82px;
129
+ }
130
+
131
+ .list-nostyle {
132
+ list-style: none;
133
+ }
134
+
135
+ .gridster ul {
136
+ list-style: none;
137
+ }
138
+
139
+ .gs_w {
140
+ width: 100%;
141
+ display: table;
142
+ cursor: pointer;
143
+ }
144
+
145
+ .widget {
146
+ padding: 25px 12px;
147
+ text-align: center;
148
+ width: 100%;
149
+ display: table-cell;
150
+ vertical-align: middle;
151
+ }
152
+
153
+ .widget.status-warning {
154
+ background-color: $background-warning-color-1;
155
+ @include animation(status-warning-background, 2s, ease, infinite);
156
+
157
+ .icon-warning-sign {
158
+ display: inline-block;
159
+ }
160
+
161
+ .title, .more-info {
162
+ color: $text-warning-color;
163
+ }
164
+ }
165
+
166
+ .widget.status-danger {
167
+ color: $text-danger-color;
168
+ background-color: $background-danger-color-1;
169
+ @include animation(status-danger-background, 2s, ease, infinite);
170
+
171
+ .icon-warning-sign {
172
+ display: inline-block;
173
+ }
174
+
175
+ .title, .more-info {
176
+ color: $text-danger-color;
177
+ }
178
+ }
179
+
180
+ .more-info {
181
+ font-size: 15px;
182
+ position: absolute;
183
+ bottom: 32px;
184
+ left: 0;
185
+ right: 0;
186
+ }
187
+
188
+ .updated-at {
189
+ font-size: 15px;
190
+ position: absolute;
191
+ bottom: 12px;
192
+ left: 0;
193
+ right: 0;
194
+ }
195
+
196
+ #save-gridster {
197
+ display: none;
198
+ position: fixed;
199
+ top: 0;
200
+ margin: 0px auto;
201
+ left: 50%;
202
+ z-index: 1000;
203
+ background: black;
204
+ width: 190px;
205
+ text-align: center;
206
+ border: 1px solid white;
207
+ border-top: 0px;
208
+ margin-left: -95px;
209
+ padding: 15px;
210
+ }
211
+
212
+ #save-gridster:hover {
213
+ padding-top: 25px;
214
+ }
215
+
216
+ #saving-instructions {
217
+ display: none;
218
+ padding: 10px;
219
+ width: 500px;
220
+ height: 122px;
221
+ z-index: 1000;
222
+ background: white;
223
+ top: 100px;
224
+ color: black;
225
+ font-size: 15px;
226
+ padding-bottom: 4px;
227
+
228
+ textarea {
229
+ white-space: nowrap;
230
+ width: 494px;
231
+ height: 80px;
232
+ }
233
+ }
234
+
235
+ #lean_overlay {
236
+ position: fixed;
237
+ z-index:100;
238
+ top: 0px;
239
+ left: 0px;
240
+ height:100%;
241
+ width:100%;
242
+ background: #000;
243
+ display: none;
244
+ }
245
+
246
+ #container {
247
+ padding-top: 5px;
248
+ }
249
+
250
+
251
+ // ----------------------------------------------------------------------------
252
+ // Clearfix
253
+ // ----------------------------------------------------------------------------
254
+ .clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
255
+ .clearfix:after { clear: both; }
256
+ .clearfix { zoom: 1; }
257
+
@@ -0,0 +1,1479 @@
1
+ /*!
2
+ * Font Awesome 3.2.1
3
+ * the iconic font designed for Bootstrap
4
+ * ------------------------------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation can be
6
+ * found at http://fontawesome.io. Stay up to date on Twitter at
7
+ * http://twitter.com/fontawesome.
8
+ *
9
+ * License
10
+ * ------------------------------------------------------------------------------
11
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
12
+ * http://scripts.sil.org/OFL
13
+ * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
14
+ * http://opensource.org/licenses/mit-license.html
15
+ * - Font Awesome documentation licensed under CC BY 3.0 -
16
+ * http://creativecommons.org/licenses/by/3.0/
17
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
18
+ * "Font Awesome by Dave Gandy - http://fontawesome.io"
19
+ *
20
+ * Author - Dave Gandy
21
+ * ------------------------------------------------------------------------------
22
+ * Email: dave@fontawesome.io
23
+ * Twitter: http://twitter.com/davegandy
24
+ * Work: Lead Product Designer @ Kyruus - http://kyruus.com
25
+ */
26
+ /* FONT PATH
27
+ * -------------------------- */
28
+ @font-face {
29
+ font-family: 'FontAwesome';
30
+ src: url('../assets/fontawesome-webfont.eot?v=3.2.1');
31
+ src: url('../assets/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../assets/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../assets/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../assets/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
32
+ font-weight: normal;
33
+ font-style: normal;
34
+ }
35
+ /* FONT AWESOME CORE
36
+ * -------------------------- */
37
+ [class^="icon-"],
38
+ [class*=" icon-"] {
39
+ font-family: FontAwesome;
40
+ font-weight: normal;
41
+ font-style: normal;
42
+ text-decoration: inherit;
43
+ -webkit-font-smoothing: antialiased;
44
+ *margin-right: .3em;
45
+ }
46
+ [class^="icon-"]:before,
47
+ [class*=" icon-"]:before {
48
+ text-decoration: inherit;
49
+ display: inline-block;
50
+ speak: none;
51
+ }
52
+ /* makes the font 33% larger relative to the icon container */
53
+ .icon-large:before {
54
+ vertical-align: -10%;
55
+ font-size: 1.3333333333333333em;
56
+ }
57
+ /* makes sure icons active on rollover in links */
58
+ a [class^="icon-"],
59
+ a [class*=" icon-"] {
60
+ display: inline;
61
+ }
62
+ /* increased font size for icon-large */
63
+ [class^="icon-"].icon-fixed-width,
64
+ [class*=" icon-"].icon-fixed-width {
65
+ display: inline-block;
66
+ width: 1.1428571428571428em;
67
+ text-align: right;
68
+ padding-right: 0.2857142857142857em;
69
+ }
70
+ [class^="icon-"].icon-fixed-width.icon-large,
71
+ [class*=" icon-"].icon-fixed-width.icon-large {
72
+ width: 1.4285714285714286em;
73
+ }
74
+ .icons-ul {
75
+ margin-left: 2.142857142857143em;
76
+ list-style-type: none;
77
+ }
78
+ .icons-ul > li {
79
+ position: relative;
80
+ }
81
+ .icons-ul .icon-li {
82
+ position: absolute;
83
+ left: -2.142857142857143em;
84
+ width: 2.142857142857143em;
85
+ text-align: center;
86
+ line-height: inherit;
87
+ }
88
+ [class^="icon-"].hide,
89
+ [class*=" icon-"].hide {
90
+ display: none;
91
+ }
92
+ .icon-muted {
93
+ color: #eeeeee;
94
+ }
95
+ .icon-light {
96
+ color: #ffffff;
97
+ }
98
+ .icon-dark {
99
+ color: #333333;
100
+ }
101
+ .icon-border {
102
+ border: solid 1px #eeeeee;
103
+ padding: .2em .25em .15em;
104
+ -webkit-border-radius: 3px;
105
+ -moz-border-radius: 3px;
106
+ border-radius: 3px;
107
+ }
108
+ .icon-2x {
109
+ font-size: 2em;
110
+ }
111
+ .icon-2x.icon-border {
112
+ border-width: 2px;
113
+ -webkit-border-radius: 4px;
114
+ -moz-border-radius: 4px;
115
+ border-radius: 4px;
116
+ }
117
+ .icon-3x {
118
+ font-size: 3em;
119
+ }
120
+ .icon-3x.icon-border {
121
+ border-width: 3px;
122
+ -webkit-border-radius: 5px;
123
+ -moz-border-radius: 5px;
124
+ border-radius: 5px;
125
+ }
126
+ .icon-4x {
127
+ font-size: 4em;
128
+ }
129
+ .icon-4x.icon-border {
130
+ border-width: 4px;
131
+ -webkit-border-radius: 6px;
132
+ -moz-border-radius: 6px;
133
+ border-radius: 6px;
134
+ }
135
+ .icon-5x {
136
+ font-size: 5em;
137
+ }
138
+ .icon-5x.icon-border {
139
+ border-width: 5px;
140
+ -webkit-border-radius: 7px;
141
+ -moz-border-radius: 7px;
142
+ border-radius: 7px;
143
+ }
144
+ .pull-right {
145
+ float: right;
146
+ }
147
+ .pull-left {
148
+ float: left;
149
+ }
150
+ [class^="icon-"].pull-left,
151
+ [class*=" icon-"].pull-left {
152
+ margin-right: .3em;
153
+ }
154
+ [class^="icon-"].pull-right,
155
+ [class*=" icon-"].pull-right {
156
+ margin-left: .3em;
157
+ }
158
+ /* BOOTSTRAP SPECIFIC CLASSES
159
+ * -------------------------- */
160
+ /* Bootstrap 2.0 sprites.less reset */
161
+ [class^="icon-"],
162
+ [class*=" icon-"] {
163
+ display: inline;
164
+ width: auto;
165
+ height: auto;
166
+ line-height: normal;
167
+ vertical-align: baseline;
168
+ background-image: none;
169
+ background-position: 0% 0%;
170
+ background-repeat: repeat;
171
+ margin-top: 0;
172
+ }
173
+ /* more sprites.less reset */
174
+ .icon-white,
175
+ .nav-pills > .active > a > [class^="icon-"],
176
+ .nav-pills > .active > a > [class*=" icon-"],
177
+ .nav-list > .active > a > [class^="icon-"],
178
+ .nav-list > .active > a > [class*=" icon-"],
179
+ .navbar-inverse .nav > .active > a > [class^="icon-"],
180
+ .navbar-inverse .nav > .active > a > [class*=" icon-"],
181
+ .dropdown-menu > li > a:hover > [class^="icon-"],
182
+ .dropdown-menu > li > a:hover > [class*=" icon-"],
183
+ .dropdown-menu > .active > a > [class^="icon-"],
184
+ .dropdown-menu > .active > a > [class*=" icon-"],
185
+ .dropdown-submenu:hover > a > [class^="icon-"],
186
+ .dropdown-submenu:hover > a > [class*=" icon-"] {
187
+ background-image: none;
188
+ }
189
+ /* keeps Bootstrap styles with and without icons the same */
190
+ .btn [class^="icon-"].icon-large,
191
+ .nav [class^="icon-"].icon-large,
192
+ .btn [class*=" icon-"].icon-large,
193
+ .nav [class*=" icon-"].icon-large {
194
+ line-height: .9em;
195
+ }
196
+ .btn [class^="icon-"].icon-spin,
197
+ .nav [class^="icon-"].icon-spin,
198
+ .btn [class*=" icon-"].icon-spin,
199
+ .nav [class*=" icon-"].icon-spin {
200
+ display: inline-block;
201
+ }
202
+ .nav-tabs [class^="icon-"],
203
+ .nav-pills [class^="icon-"],
204
+ .nav-tabs [class*=" icon-"],
205
+ .nav-pills [class*=" icon-"],
206
+ .nav-tabs [class^="icon-"].icon-large,
207
+ .nav-pills [class^="icon-"].icon-large,
208
+ .nav-tabs [class*=" icon-"].icon-large,
209
+ .nav-pills [class*=" icon-"].icon-large {
210
+ line-height: .9em;
211
+ }
212
+ .btn [class^="icon-"].pull-left.icon-2x,
213
+ .btn [class*=" icon-"].pull-left.icon-2x,
214
+ .btn [class^="icon-"].pull-right.icon-2x,
215
+ .btn [class*=" icon-"].pull-right.icon-2x {
216
+ margin-top: .18em;
217
+ }
218
+ .btn [class^="icon-"].icon-spin.icon-large,
219
+ .btn [class*=" icon-"].icon-spin.icon-large {
220
+ line-height: .8em;
221
+ }
222
+ .btn.btn-small [class^="icon-"].pull-left.icon-2x,
223
+ .btn.btn-small [class*=" icon-"].pull-left.icon-2x,
224
+ .btn.btn-small [class^="icon-"].pull-right.icon-2x,
225
+ .btn.btn-small [class*=" icon-"].pull-right.icon-2x {
226
+ margin-top: .25em;
227
+ }
228
+ .btn.btn-large [class^="icon-"],
229
+ .btn.btn-large [class*=" icon-"] {
230
+ margin-top: 0;
231
+ }
232
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,
233
+ .btn.btn-large [class*=" icon-"].pull-left.icon-2x,
234
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,
235
+ .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
236
+ margin-top: .05em;
237
+ }
238
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,
239
+ .btn.btn-large [class*=" icon-"].pull-left.icon-2x {
240
+ margin-right: .2em;
241
+ }
242
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,
243
+ .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
244
+ margin-left: .2em;
245
+ }
246
+ /* Fixes alignment in nav lists */
247
+ .nav-list [class^="icon-"],
248
+ .nav-list [class*=" icon-"] {
249
+ line-height: inherit;
250
+ }
251
+ /* EXTRAS
252
+ * -------------------------- */
253
+ /* Stacked and layered icon */
254
+ .icon-stack {
255
+ position: relative;
256
+ display: inline-block;
257
+ width: 2em;
258
+ height: 2em;
259
+ line-height: 2em;
260
+ vertical-align: -35%;
261
+ }
262
+ .icon-stack [class^="icon-"],
263
+ .icon-stack [class*=" icon-"] {
264
+ display: block;
265
+ text-align: center;
266
+ position: absolute;
267
+ width: 100%;
268
+ height: 100%;
269
+ font-size: 1em;
270
+ line-height: inherit;
271
+ *line-height: 2em;
272
+ }
273
+ .icon-stack .icon-stack-base {
274
+ font-size: 2em;
275
+ *line-height: 1em;
276
+ }
277
+ /* Animated rotating icon */
278
+ .icon-spin {
279
+ display: inline-block;
280
+ -moz-animation: spin 2s infinite linear;
281
+ -o-animation: spin 2s infinite linear;
282
+ -webkit-animation: spin 2s infinite linear;
283
+ animation: spin 2s infinite linear;
284
+ }
285
+ /* Prevent stack and spinners from being taken inline when inside a link */
286
+ a .icon-stack,
287
+ a .icon-spin {
288
+ display: inline-block;
289
+ text-decoration: none;
290
+ }
291
+ @-moz-keyframes spin {
292
+ 0% {
293
+ -moz-transform: rotate(0deg);
294
+ }
295
+ 100% {
296
+ -moz-transform: rotate(359deg);
297
+ }
298
+ }
299
+ @-webkit-keyframes spin {
300
+ 0% {
301
+ -webkit-transform: rotate(0deg);
302
+ }
303
+ 100% {
304
+ -webkit-transform: rotate(359deg);
305
+ }
306
+ }
307
+ @-o-keyframes spin {
308
+ 0% {
309
+ -o-transform: rotate(0deg);
310
+ }
311
+ 100% {
312
+ -o-transform: rotate(359deg);
313
+ }
314
+ }
315
+ @-ms-keyframes spin {
316
+ 0% {
317
+ -ms-transform: rotate(0deg);
318
+ }
319
+ 100% {
320
+ -ms-transform: rotate(359deg);
321
+ }
322
+ }
323
+ @keyframes spin {
324
+ 0% {
325
+ transform: rotate(0deg);
326
+ }
327
+ 100% {
328
+ transform: rotate(359deg);
329
+ }
330
+ }
331
+ /* Icon rotations and mirroring */
332
+ .icon-rotate-90:before {
333
+ -webkit-transform: rotate(90deg);
334
+ -moz-transform: rotate(90deg);
335
+ -ms-transform: rotate(90deg);
336
+ -o-transform: rotate(90deg);
337
+ transform: rotate(90deg);
338
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
339
+ }
340
+ .icon-rotate-180:before {
341
+ -webkit-transform: rotate(180deg);
342
+ -moz-transform: rotate(180deg);
343
+ -ms-transform: rotate(180deg);
344
+ -o-transform: rotate(180deg);
345
+ transform: rotate(180deg);
346
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
347
+ }
348
+ .icon-rotate-270:before {
349
+ -webkit-transform: rotate(270deg);
350
+ -moz-transform: rotate(270deg);
351
+ -ms-transform: rotate(270deg);
352
+ -o-transform: rotate(270deg);
353
+ transform: rotate(270deg);
354
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
355
+ }
356
+ .icon-flip-horizontal:before {
357
+ -webkit-transform: scale(-1, 1);
358
+ -moz-transform: scale(-1, 1);
359
+ -ms-transform: scale(-1, 1);
360
+ -o-transform: scale(-1, 1);
361
+ transform: scale(-1, 1);
362
+ }
363
+ .icon-flip-vertical:before {
364
+ -webkit-transform: scale(1, -1);
365
+ -moz-transform: scale(1, -1);
366
+ -ms-transform: scale(1, -1);
367
+ -o-transform: scale(1, -1);
368
+ transform: scale(1, -1);
369
+ }
370
+ /* ensure rotation occurs inside anchor tags */
371
+ a .icon-rotate-90:before,
372
+ a .icon-rotate-180:before,
373
+ a .icon-rotate-270:before,
374
+ a .icon-flip-horizontal:before,
375
+ a .icon-flip-vertical:before {
376
+ display: inline-block;
377
+ }
378
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
379
+ readers do not read off random characters that represent icons */
380
+ .icon-glass:before {
381
+ content: "\f000";
382
+ }
383
+ .icon-music:before {
384
+ content: "\f001";
385
+ }
386
+ .icon-search:before {
387
+ content: "\f002";
388
+ }
389
+ .icon-envelope-alt:before {
390
+ content: "\f003";
391
+ }
392
+ .icon-heart:before {
393
+ content: "\f004";
394
+ }
395
+ .icon-star:before {
396
+ content: "\f005";
397
+ }
398
+ .icon-star-empty:before {
399
+ content: "\f006";
400
+ }
401
+ .icon-user:before {
402
+ content: "\f007";
403
+ }
404
+ .icon-film:before {
405
+ content: "\f008";
406
+ }
407
+ .icon-th-large:before {
408
+ content: "\f009";
409
+ }
410
+ .icon-th:before {
411
+ content: "\f00a";
412
+ }
413
+ .icon-th-list:before {
414
+ content: "\f00b";
415
+ }
416
+ .icon-ok:before {
417
+ content: "\f00c";
418
+ }
419
+ .icon-remove:before {
420
+ content: "\f00d";
421
+ }
422
+ .icon-zoom-in:before {
423
+ content: "\f00e";
424
+ }
425
+ .icon-zoom-out:before {
426
+ content: "\f010";
427
+ }
428
+ .icon-power-off:before,
429
+ .icon-off:before {
430
+ content: "\f011";
431
+ }
432
+ .icon-signal:before {
433
+ content: "\f012";
434
+ }
435
+ .icon-gear:before,
436
+ .icon-cog:before {
437
+ content: "\f013";
438
+ }
439
+ .icon-trash:before {
440
+ content: "\f014";
441
+ }
442
+ .icon-home:before {
443
+ content: "\f015";
444
+ }
445
+ .icon-file-alt:before {
446
+ content: "\f016";
447
+ }
448
+ .icon-time:before {
449
+ content: "\f017";
450
+ }
451
+ .icon-road:before {
452
+ content: "\f018";
453
+ }
454
+ .icon-download-alt:before {
455
+ content: "\f019";
456
+ }
457
+ .icon-download:before {
458
+ content: "\f01a";
459
+ }
460
+ .icon-upload:before {
461
+ content: "\f01b";
462
+ }
463
+ .icon-inbox:before {
464
+ content: "\f01c";
465
+ }
466
+ .icon-play-circle:before {
467
+ content: "\f01d";
468
+ }
469
+ .icon-rotate-right:before,
470
+ .icon-repeat:before {
471
+ content: "\f01e";
472
+ }
473
+ .icon-refresh:before {
474
+ content: "\f021";
475
+ }
476
+ .icon-list-alt:before {
477
+ content: "\f022";
478
+ }
479
+ .icon-lock:before {
480
+ content: "\f023";
481
+ }
482
+ .icon-flag:before {
483
+ content: "\f024";
484
+ }
485
+ .icon-headphones:before {
486
+ content: "\f025";
487
+ }
488
+ .icon-volume-off:before {
489
+ content: "\f026";
490
+ }
491
+ .icon-volume-down:before {
492
+ content: "\f027";
493
+ }
494
+ .icon-volume-up:before {
495
+ content: "\f028";
496
+ }
497
+ .icon-qrcode:before {
498
+ content: "\f029";
499
+ }
500
+ .icon-barcode:before {
501
+ content: "\f02a";
502
+ }
503
+ .icon-tag:before {
504
+ content: "\f02b";
505
+ }
506
+ .icon-tags:before {
507
+ content: "\f02c";
508
+ }
509
+ .icon-book:before {
510
+ content: "\f02d";
511
+ }
512
+ .icon-bookmark:before {
513
+ content: "\f02e";
514
+ }
515
+ .icon-print:before {
516
+ content: "\f02f";
517
+ }
518
+ .icon-camera:before {
519
+ content: "\f030";
520
+ }
521
+ .icon-font:before {
522
+ content: "\f031";
523
+ }
524
+ .icon-bold:before {
525
+ content: "\f032";
526
+ }
527
+ .icon-italic:before {
528
+ content: "\f033";
529
+ }
530
+ .icon-text-height:before {
531
+ content: "\f034";
532
+ }
533
+ .icon-text-width:before {
534
+ content: "\f035";
535
+ }
536
+ .icon-align-left:before {
537
+ content: "\f036";
538
+ }
539
+ .icon-align-center:before {
540
+ content: "\f037";
541
+ }
542
+ .icon-align-right:before {
543
+ content: "\f038";
544
+ }
545
+ .icon-align-justify:before {
546
+ content: "\f039";
547
+ }
548
+ .icon-list:before {
549
+ content: "\f03a";
550
+ }
551
+ .icon-indent-left:before {
552
+ content: "\f03b";
553
+ }
554
+ .icon-indent-right:before {
555
+ content: "\f03c";
556
+ }
557
+ .icon-facetime-video:before {
558
+ content: "\f03d";
559
+ }
560
+ .icon-picture:before {
561
+ content: "\f03e";
562
+ }
563
+ .icon-pencil:before {
564
+ content: "\f040";
565
+ }
566
+ .icon-map-marker:before {
567
+ content: "\f041";
568
+ }
569
+ .icon-adjust:before {
570
+ content: "\f042";
571
+ }
572
+ .icon-tint:before {
573
+ content: "\f043";
574
+ }
575
+ .icon-edit:before {
576
+ content: "\f044";
577
+ }
578
+ .icon-share:before {
579
+ content: "\f045";
580
+ }
581
+ .icon-check:before {
582
+ content: "\f046";
583
+ }
584
+ .icon-move:before {
585
+ content: "\f047";
586
+ }
587
+ .icon-step-backward:before {
588
+ content: "\f048";
589
+ }
590
+ .icon-fast-backward:before {
591
+ content: "\f049";
592
+ }
593
+ .icon-backward:before {
594
+ content: "\f04a";
595
+ }
596
+ .icon-play:before {
597
+ content: "\f04b";
598
+ }
599
+ .icon-pause:before {
600
+ content: "\f04c";
601
+ }
602
+ .icon-stop:before {
603
+ content: "\f04d";
604
+ }
605
+ .icon-forward:before {
606
+ content: "\f04e";
607
+ }
608
+ .icon-fast-forward:before {
609
+ content: "\f050";
610
+ }
611
+ .icon-step-forward:before {
612
+ content: "\f051";
613
+ }
614
+ .icon-eject:before {
615
+ content: "\f052";
616
+ }
617
+ .icon-chevron-left:before {
618
+ content: "\f053";
619
+ }
620
+ .icon-chevron-right:before {
621
+ content: "\f054";
622
+ }
623
+ .icon-plus-sign:before {
624
+ content: "\f055";
625
+ }
626
+ .icon-minus-sign:before {
627
+ content: "\f056";
628
+ }
629
+ .icon-remove-sign:before {
630
+ content: "\f057";
631
+ }
632
+ .icon-ok-sign:before {
633
+ content: "\f058";
634
+ }
635
+ .icon-question-sign:before {
636
+ content: "\f059";
637
+ }
638
+ .icon-info-sign:before {
639
+ content: "\f05a";
640
+ }
641
+ .icon-screenshot:before {
642
+ content: "\f05b";
643
+ }
644
+ .icon-remove-circle:before {
645
+ content: "\f05c";
646
+ }
647
+ .icon-ok-circle:before {
648
+ content: "\f05d";
649
+ }
650
+ .icon-ban-circle:before {
651
+ content: "\f05e";
652
+ }
653
+ .icon-arrow-left:before {
654
+ content: "\f060";
655
+ }
656
+ .icon-arrow-right:before {
657
+ content: "\f061";
658
+ }
659
+ .icon-arrow-up:before {
660
+ content: "\f062";
661
+ }
662
+ .icon-arrow-down:before {
663
+ content: "\f063";
664
+ }
665
+ .icon-mail-forward:before,
666
+ .icon-share-alt:before {
667
+ content: "\f064";
668
+ }
669
+ .icon-resize-full:before {
670
+ content: "\f065";
671
+ }
672
+ .icon-resize-small:before {
673
+ content: "\f066";
674
+ }
675
+ .icon-plus:before {
676
+ content: "\f067";
677
+ }
678
+ .icon-minus:before {
679
+ content: "\f068";
680
+ }
681
+ .icon-asterisk:before {
682
+ content: "\f069";
683
+ }
684
+ .icon-exclamation-sign:before {
685
+ content: "\f06a";
686
+ }
687
+ .icon-gift:before {
688
+ content: "\f06b";
689
+ }
690
+ .icon-leaf:before {
691
+ content: "\f06c";
692
+ }
693
+ .icon-fire:before {
694
+ content: "\f06d";
695
+ }
696
+ .icon-eye-open:before {
697
+ content: "\f06e";
698
+ }
699
+ .icon-eye-close:before {
700
+ content: "\f070";
701
+ }
702
+ .icon-warning-sign:before {
703
+ content: "\f071";
704
+ }
705
+ .icon-plane:before {
706
+ content: "\f072";
707
+ }
708
+ .icon-calendar:before {
709
+ content: "\f073";
710
+ }
711
+ .icon-random:before {
712
+ content: "\f074";
713
+ }
714
+ .icon-comment:before {
715
+ content: "\f075";
716
+ }
717
+ .icon-magnet:before {
718
+ content: "\f076";
719
+ }
720
+ .icon-chevron-up:before {
721
+ content: "\f077";
722
+ }
723
+ .icon-chevron-down:before {
724
+ content: "\f078";
725
+ }
726
+ .icon-retweet:before {
727
+ content: "\f079";
728
+ }
729
+ .icon-shopping-cart:before {
730
+ content: "\f07a";
731
+ }
732
+ .icon-folder-close:before {
733
+ content: "\f07b";
734
+ }
735
+ .icon-folder-open:before {
736
+ content: "\f07c";
737
+ }
738
+ .icon-resize-vertical:before {
739
+ content: "\f07d";
740
+ }
741
+ .icon-resize-horizontal:before {
742
+ content: "\f07e";
743
+ }
744
+ .icon-bar-chart:before {
745
+ content: "\f080";
746
+ }
747
+ .icon-twitter-sign:before {
748
+ content: "\f081";
749
+ }
750
+ .icon-facebook-sign:before {
751
+ content: "\f082";
752
+ }
753
+ .icon-camera-retro:before {
754
+ content: "\f083";
755
+ }
756
+ .icon-key:before {
757
+ content: "\f084";
758
+ }
759
+ .icon-gears:before,
760
+ .icon-cogs:before {
761
+ content: "\f085";
762
+ }
763
+ .icon-comments:before {
764
+ content: "\f086";
765
+ }
766
+ .icon-thumbs-up-alt:before {
767
+ content: "\f087";
768
+ }
769
+ .icon-thumbs-down-alt:before {
770
+ content: "\f088";
771
+ }
772
+ .icon-star-half:before {
773
+ content: "\f089";
774
+ }
775
+ .icon-heart-empty:before {
776
+ content: "\f08a";
777
+ }
778
+ .icon-signout:before {
779
+ content: "\f08b";
780
+ }
781
+ .icon-linkedin-sign:before {
782
+ content: "\f08c";
783
+ }
784
+ .icon-pushpin:before {
785
+ content: "\f08d";
786
+ }
787
+ .icon-external-link:before {
788
+ content: "\f08e";
789
+ }
790
+ .icon-signin:before {
791
+ content: "\f090";
792
+ }
793
+ .icon-trophy:before {
794
+ content: "\f091";
795
+ }
796
+ .icon-github-sign:before {
797
+ content: "\f092";
798
+ }
799
+ .icon-upload-alt:before {
800
+ content: "\f093";
801
+ }
802
+ .icon-lemon:before {
803
+ content: "\f094";
804
+ }
805
+ .icon-phone:before {
806
+ content: "\f095";
807
+ }
808
+ .icon-unchecked:before,
809
+ .icon-check-empty:before {
810
+ content: "\f096";
811
+ }
812
+ .icon-bookmark-empty:before {
813
+ content: "\f097";
814
+ }
815
+ .icon-phone-sign:before {
816
+ content: "\f098";
817
+ }
818
+ .icon-twitter:before {
819
+ content: "\f099";
820
+ }
821
+ .icon-facebook:before {
822
+ content: "\f09a";
823
+ }
824
+ .icon-github:before {
825
+ content: "\f09b";
826
+ }
827
+ .icon-unlock:before {
828
+ content: "\f09c";
829
+ }
830
+ .icon-credit-card:before {
831
+ content: "\f09d";
832
+ }
833
+ .icon-rss:before {
834
+ content: "\f09e";
835
+ }
836
+ .icon-hdd:before {
837
+ content: "\f0a0";
838
+ }
839
+ .icon-bullhorn:before {
840
+ content: "\f0a1";
841
+ }
842
+ .icon-bell:before {
843
+ content: "\f0a2";
844
+ }
845
+ .icon-certificate:before {
846
+ content: "\f0a3";
847
+ }
848
+ .icon-hand-right:before {
849
+ content: "\f0a4";
850
+ }
851
+ .icon-hand-left:before {
852
+ content: "\f0a5";
853
+ }
854
+ .icon-hand-up:before {
855
+ content: "\f0a6";
856
+ }
857
+ .icon-hand-down:before {
858
+ content: "\f0a7";
859
+ }
860
+ .icon-circle-arrow-left:before {
861
+ content: "\f0a8";
862
+ }
863
+ .icon-circle-arrow-right:before {
864
+ content: "\f0a9";
865
+ }
866
+ .icon-circle-arrow-up:before {
867
+ content: "\f0aa";
868
+ }
869
+ .icon-circle-arrow-down:before {
870
+ content: "\f0ab";
871
+ }
872
+ .icon-globe:before {
873
+ content: "\f0ac";
874
+ }
875
+ .icon-wrench:before {
876
+ content: "\f0ad";
877
+ }
878
+ .icon-tasks:before {
879
+ content: "\f0ae";
880
+ }
881
+ .icon-filter:before {
882
+ content: "\f0b0";
883
+ }
884
+ .icon-briefcase:before {
885
+ content: "\f0b1";
886
+ }
887
+ .icon-fullscreen:before {
888
+ content: "\f0b2";
889
+ }
890
+ .icon-group:before {
891
+ content: "\f0c0";
892
+ }
893
+ .icon-link:before {
894
+ content: "\f0c1";
895
+ }
896
+ .icon-cloud:before {
897
+ content: "\f0c2";
898
+ }
899
+ .icon-beaker:before {
900
+ content: "\f0c3";
901
+ }
902
+ .icon-cut:before {
903
+ content: "\f0c4";
904
+ }
905
+ .icon-copy:before {
906
+ content: "\f0c5";
907
+ }
908
+ .icon-paperclip:before,
909
+ .icon-paper-clip:before {
910
+ content: "\f0c6";
911
+ }
912
+ .icon-save:before {
913
+ content: "\f0c7";
914
+ }
915
+ .icon-sign-blank:before {
916
+ content: "\f0c8";
917
+ }
918
+ .icon-reorder:before {
919
+ content: "\f0c9";
920
+ }
921
+ .icon-list-ul:before {
922
+ content: "\f0ca";
923
+ }
924
+ .icon-list-ol:before {
925
+ content: "\f0cb";
926
+ }
927
+ .icon-strikethrough:before {
928
+ content: "\f0cc";
929
+ }
930
+ .icon-underline:before {
931
+ content: "\f0cd";
932
+ }
933
+ .icon-table:before {
934
+ content: "\f0ce";
935
+ }
936
+ .icon-magic:before {
937
+ content: "\f0d0";
938
+ }
939
+ .icon-truck:before {
940
+ content: "\f0d1";
941
+ }
942
+ .icon-pinterest:before {
943
+ content: "\f0d2";
944
+ }
945
+ .icon-pinterest-sign:before {
946
+ content: "\f0d3";
947
+ }
948
+ .icon-google-plus-sign:before {
949
+ content: "\f0d4";
950
+ }
951
+ .icon-google-plus:before {
952
+ content: "\f0d5";
953
+ }
954
+ .icon-money:before {
955
+ content: "\f0d6";
956
+ }
957
+ .icon-caret-down:before {
958
+ content: "\f0d7";
959
+ }
960
+ .icon-caret-up:before {
961
+ content: "\f0d8";
962
+ }
963
+ .icon-caret-left:before {
964
+ content: "\f0d9";
965
+ }
966
+ .icon-caret-right:before {
967
+ content: "\f0da";
968
+ }
969
+ .icon-columns:before {
970
+ content: "\f0db";
971
+ }
972
+ .icon-sort:before {
973
+ content: "\f0dc";
974
+ }
975
+ .icon-sort-down:before {
976
+ content: "\f0dd";
977
+ }
978
+ .icon-sort-up:before {
979
+ content: "\f0de";
980
+ }
981
+ .icon-envelope:before {
982
+ content: "\f0e0";
983
+ }
984
+ .icon-linkedin:before {
985
+ content: "\f0e1";
986
+ }
987
+ .icon-rotate-left:before,
988
+ .icon-undo:before {
989
+ content: "\f0e2";
990
+ }
991
+ .icon-legal:before {
992
+ content: "\f0e3";
993
+ }
994
+ .icon-dashboard:before {
995
+ content: "\f0e4";
996
+ }
997
+ .icon-comment-alt:before {
998
+ content: "\f0e5";
999
+ }
1000
+ .icon-comments-alt:before {
1001
+ content: "\f0e6";
1002
+ }
1003
+ .icon-bolt:before {
1004
+ content: "\f0e7";
1005
+ }
1006
+ .icon-sitemap:before {
1007
+ content: "\f0e8";
1008
+ }
1009
+ .icon-umbrella:before {
1010
+ content: "\f0e9";
1011
+ }
1012
+ .icon-paste:before {
1013
+ content: "\f0ea";
1014
+ }
1015
+ .icon-lightbulb:before {
1016
+ content: "\f0eb";
1017
+ }
1018
+ .icon-exchange:before {
1019
+ content: "\f0ec";
1020
+ }
1021
+ .icon-cloud-download:before {
1022
+ content: "\f0ed";
1023
+ }
1024
+ .icon-cloud-upload:before {
1025
+ content: "\f0ee";
1026
+ }
1027
+ .icon-user-md:before {
1028
+ content: "\f0f0";
1029
+ }
1030
+ .icon-stethoscope:before {
1031
+ content: "\f0f1";
1032
+ }
1033
+ .icon-suitcase:before {
1034
+ content: "\f0f2";
1035
+ }
1036
+ .icon-bell-alt:before {
1037
+ content: "\f0f3";
1038
+ }
1039
+ .icon-coffee:before {
1040
+ content: "\f0f4";
1041
+ }
1042
+ .icon-food:before {
1043
+ content: "\f0f5";
1044
+ }
1045
+ .icon-file-text-alt:before {
1046
+ content: "\f0f6";
1047
+ }
1048
+ .icon-building:before {
1049
+ content: "\f0f7";
1050
+ }
1051
+ .icon-hospital:before {
1052
+ content: "\f0f8";
1053
+ }
1054
+ .icon-ambulance:before {
1055
+ content: "\f0f9";
1056
+ }
1057
+ .icon-medkit:before {
1058
+ content: "\f0fa";
1059
+ }
1060
+ .icon-fighter-jet:before {
1061
+ content: "\f0fb";
1062
+ }
1063
+ .icon-beer:before {
1064
+ content: "\f0fc";
1065
+ }
1066
+ .icon-h-sign:before {
1067
+ content: "\f0fd";
1068
+ }
1069
+ .icon-plus-sign-alt:before {
1070
+ content: "\f0fe";
1071
+ }
1072
+ .icon-double-angle-left:before {
1073
+ content: "\f100";
1074
+ }
1075
+ .icon-double-angle-right:before {
1076
+ content: "\f101";
1077
+ }
1078
+ .icon-double-angle-up:before {
1079
+ content: "\f102";
1080
+ }
1081
+ .icon-double-angle-down:before {
1082
+ content: "\f103";
1083
+ }
1084
+ .icon-angle-left:before {
1085
+ content: "\f104";
1086
+ }
1087
+ .icon-angle-right:before {
1088
+ content: "\f105";
1089
+ }
1090
+ .icon-angle-up:before {
1091
+ content: "\f106";
1092
+ }
1093
+ .icon-angle-down:before {
1094
+ content: "\f107";
1095
+ }
1096
+ .icon-desktop:before {
1097
+ content: "\f108";
1098
+ }
1099
+ .icon-laptop:before {
1100
+ content: "\f109";
1101
+ }
1102
+ .icon-tablet:before {
1103
+ content: "\f10a";
1104
+ }
1105
+ .icon-mobile-phone:before {
1106
+ content: "\f10b";
1107
+ }
1108
+ .icon-circle-blank:before {
1109
+ content: "\f10c";
1110
+ }
1111
+ .icon-quote-left:before {
1112
+ content: "\f10d";
1113
+ }
1114
+ .icon-quote-right:before {
1115
+ content: "\f10e";
1116
+ }
1117
+ .icon-spinner:before {
1118
+ content: "\f110";
1119
+ }
1120
+ .icon-circle:before {
1121
+ content: "\f111";
1122
+ }
1123
+ .icon-mail-reply:before,
1124
+ .icon-reply:before {
1125
+ content: "\f112";
1126
+ }
1127
+ .icon-github-alt:before {
1128
+ content: "\f113";
1129
+ }
1130
+ .icon-folder-close-alt:before {
1131
+ content: "\f114";
1132
+ }
1133
+ .icon-folder-open-alt:before {
1134
+ content: "\f115";
1135
+ }
1136
+ .icon-expand-alt:before {
1137
+ content: "\f116";
1138
+ }
1139
+ .icon-collapse-alt:before {
1140
+ content: "\f117";
1141
+ }
1142
+ .icon-smile:before {
1143
+ content: "\f118";
1144
+ }
1145
+ .icon-frown:before {
1146
+ content: "\f119";
1147
+ }
1148
+ .icon-meh:before {
1149
+ content: "\f11a";
1150
+ }
1151
+ .icon-gamepad:before {
1152
+ content: "\f11b";
1153
+ }
1154
+ .icon-keyboard:before {
1155
+ content: "\f11c";
1156
+ }
1157
+ .icon-flag-alt:before {
1158
+ content: "\f11d";
1159
+ }
1160
+ .icon-flag-checkered:before {
1161
+ content: "\f11e";
1162
+ }
1163
+ .icon-terminal:before {
1164
+ content: "\f120";
1165
+ }
1166
+ .icon-code:before {
1167
+ content: "\f121";
1168
+ }
1169
+ .icon-reply-all:before {
1170
+ content: "\f122";
1171
+ }
1172
+ .icon-mail-reply-all:before {
1173
+ content: "\f122";
1174
+ }
1175
+ .icon-star-half-full:before,
1176
+ .icon-star-half-empty:before {
1177
+ content: "\f123";
1178
+ }
1179
+ .icon-location-arrow:before {
1180
+ content: "\f124";
1181
+ }
1182
+ .icon-crop:before {
1183
+ content: "\f125";
1184
+ }
1185
+ .icon-code-fork:before {
1186
+ content: "\f126";
1187
+ }
1188
+ .icon-unlink:before {
1189
+ content: "\f127";
1190
+ }
1191
+ .icon-question:before {
1192
+ content: "\f128";
1193
+ }
1194
+ .icon-info:before {
1195
+ content: "\f129";
1196
+ }
1197
+ .icon-exclamation:before {
1198
+ content: "\f12a";
1199
+ }
1200
+ .icon-superscript:before {
1201
+ content: "\f12b";
1202
+ }
1203
+ .icon-subscript:before {
1204
+ content: "\f12c";
1205
+ }
1206
+ .icon-eraser:before {
1207
+ content: "\f12d";
1208
+ }
1209
+ .icon-puzzle-piece:before {
1210
+ content: "\f12e";
1211
+ }
1212
+ .icon-microphone:before {
1213
+ content: "\f130";
1214
+ }
1215
+ .icon-microphone-off:before {
1216
+ content: "\f131";
1217
+ }
1218
+ .icon-shield:before {
1219
+ content: "\f132";
1220
+ }
1221
+ .icon-calendar-empty:before {
1222
+ content: "\f133";
1223
+ }
1224
+ .icon-fire-extinguisher:before {
1225
+ content: "\f134";
1226
+ }
1227
+ .icon-rocket:before {
1228
+ content: "\f135";
1229
+ }
1230
+ .icon-maxcdn:before {
1231
+ content: "\f136";
1232
+ }
1233
+ .icon-chevron-sign-left:before {
1234
+ content: "\f137";
1235
+ }
1236
+ .icon-chevron-sign-right:before {
1237
+ content: "\f138";
1238
+ }
1239
+ .icon-chevron-sign-up:before {
1240
+ content: "\f139";
1241
+ }
1242
+ .icon-chevron-sign-down:before {
1243
+ content: "\f13a";
1244
+ }
1245
+ .icon-html5:before {
1246
+ content: "\f13b";
1247
+ }
1248
+ .icon-css3:before {
1249
+ content: "\f13c";
1250
+ }
1251
+ .icon-anchor:before {
1252
+ content: "\f13d";
1253
+ }
1254
+ .icon-unlock-alt:before {
1255
+ content: "\f13e";
1256
+ }
1257
+ .icon-bullseye:before {
1258
+ content: "\f140";
1259
+ }
1260
+ .icon-ellipsis-horizontal:before {
1261
+ content: "\f141";
1262
+ }
1263
+ .icon-ellipsis-vertical:before {
1264
+ content: "\f142";
1265
+ }
1266
+ .icon-rss-sign:before {
1267
+ content: "\f143";
1268
+ }
1269
+ .icon-play-sign:before {
1270
+ content: "\f144";
1271
+ }
1272
+ .icon-ticket:before {
1273
+ content: "\f145";
1274
+ }
1275
+ .icon-minus-sign-alt:before {
1276
+ content: "\f146";
1277
+ }
1278
+ .icon-check-minus:before {
1279
+ content: "\f147";
1280
+ }
1281
+ .icon-level-up:before {
1282
+ content: "\f148";
1283
+ }
1284
+ .icon-level-down:before {
1285
+ content: "\f149";
1286
+ }
1287
+ .icon-check-sign:before {
1288
+ content: "\f14a";
1289
+ }
1290
+ .icon-edit-sign:before {
1291
+ content: "\f14b";
1292
+ }
1293
+ .icon-external-link-sign:before {
1294
+ content: "\f14c";
1295
+ }
1296
+ .icon-share-sign:before {
1297
+ content: "\f14d";
1298
+ }
1299
+ .icon-compass:before {
1300
+ content: "\f14e";
1301
+ }
1302
+ .icon-collapse:before {
1303
+ content: "\f150";
1304
+ }
1305
+ .icon-collapse-top:before {
1306
+ content: "\f151";
1307
+ }
1308
+ .icon-expand:before {
1309
+ content: "\f152";
1310
+ }
1311
+ .icon-euro:before,
1312
+ .icon-eur:before {
1313
+ content: "\f153";
1314
+ }
1315
+ .icon-gbp:before {
1316
+ content: "\f154";
1317
+ }
1318
+ .icon-dollar:before,
1319
+ .icon-usd:before {
1320
+ content: "\f155";
1321
+ }
1322
+ .icon-rupee:before,
1323
+ .icon-inr:before {
1324
+ content: "\f156";
1325
+ }
1326
+ .icon-yen:before,
1327
+ .icon-jpy:before {
1328
+ content: "\f157";
1329
+ }
1330
+ .icon-renminbi:before,
1331
+ .icon-cny:before {
1332
+ content: "\f158";
1333
+ }
1334
+ .icon-won:before,
1335
+ .icon-krw:before {
1336
+ content: "\f159";
1337
+ }
1338
+ .icon-bitcoin:before,
1339
+ .icon-btc:before {
1340
+ content: "\f15a";
1341
+ }
1342
+ .icon-file:before {
1343
+ content: "\f15b";
1344
+ }
1345
+ .icon-file-text:before {
1346
+ content: "\f15c";
1347
+ }
1348
+ .icon-sort-by-alphabet:before {
1349
+ content: "\f15d";
1350
+ }
1351
+ .icon-sort-by-alphabet-alt:before {
1352
+ content: "\f15e";
1353
+ }
1354
+ .icon-sort-by-attributes:before {
1355
+ content: "\f160";
1356
+ }
1357
+ .icon-sort-by-attributes-alt:before {
1358
+ content: "\f161";
1359
+ }
1360
+ .icon-sort-by-order:before {
1361
+ content: "\f162";
1362
+ }
1363
+ .icon-sort-by-order-alt:before {
1364
+ content: "\f163";
1365
+ }
1366
+ .icon-thumbs-up:before {
1367
+ content: "\f164";
1368
+ }
1369
+ .icon-thumbs-down:before {
1370
+ content: "\f165";
1371
+ }
1372
+ .icon-youtube-sign:before {
1373
+ content: "\f166";
1374
+ }
1375
+ .icon-youtube:before {
1376
+ content: "\f167";
1377
+ }
1378
+ .icon-xing:before {
1379
+ content: "\f168";
1380
+ }
1381
+ .icon-xing-sign:before {
1382
+ content: "\f169";
1383
+ }
1384
+ .icon-youtube-play:before {
1385
+ content: "\f16a";
1386
+ }
1387
+ .icon-dropbox:before {
1388
+ content: "\f16b";
1389
+ }
1390
+ .icon-stackexchange:before {
1391
+ content: "\f16c";
1392
+ }
1393
+ .icon-instagram:before {
1394
+ content: "\f16d";
1395
+ }
1396
+ .icon-flickr:before {
1397
+ content: "\f16e";
1398
+ }
1399
+ .icon-adn:before {
1400
+ content: "\f170";
1401
+ }
1402
+ .icon-bitbucket:before {
1403
+ content: "\f171";
1404
+ }
1405
+ .icon-bitbucket-sign:before {
1406
+ content: "\f172";
1407
+ }
1408
+ .icon-tumblr:before {
1409
+ content: "\f173";
1410
+ }
1411
+ .icon-tumblr-sign:before {
1412
+ content: "\f174";
1413
+ }
1414
+ .icon-long-arrow-down:before {
1415
+ content: "\f175";
1416
+ }
1417
+ .icon-long-arrow-up:before {
1418
+ content: "\f176";
1419
+ }
1420
+ .icon-long-arrow-left:before {
1421
+ content: "\f177";
1422
+ }
1423
+ .icon-long-arrow-right:before {
1424
+ content: "\f178";
1425
+ }
1426
+ .icon-apple:before {
1427
+ content: "\f179";
1428
+ }
1429
+ .icon-windows:before {
1430
+ content: "\f17a";
1431
+ }
1432
+ .icon-android:before {
1433
+ content: "\f17b";
1434
+ }
1435
+ .icon-linux:before {
1436
+ content: "\f17c";
1437
+ }
1438
+ .icon-dribbble:before {
1439
+ content: "\f17d";
1440
+ }
1441
+ .icon-skype:before {
1442
+ content: "\f17e";
1443
+ }
1444
+ .icon-foursquare:before {
1445
+ content: "\f180";
1446
+ }
1447
+ .icon-trello:before {
1448
+ content: "\f181";
1449
+ }
1450
+ .icon-female:before {
1451
+ content: "\f182";
1452
+ }
1453
+ .icon-male:before {
1454
+ content: "\f183";
1455
+ }
1456
+ .icon-gittip:before {
1457
+ content: "\f184";
1458
+ }
1459
+ .icon-sun:before {
1460
+ content: "\f185";
1461
+ }
1462
+ .icon-moon:before {
1463
+ content: "\f186";
1464
+ }
1465
+ .icon-archive:before {
1466
+ content: "\f187";
1467
+ }
1468
+ .icon-bug:before {
1469
+ content: "\f188";
1470
+ }
1471
+ .icon-vk:before {
1472
+ content: "\f189";
1473
+ }
1474
+ .icon-weibo:before {
1475
+ content: "\f18a";
1476
+ }
1477
+ .icon-renren:before {
1478
+ content: "\f18b";
1479
+ }