growbot-web 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13576efac6ef93dd092b7b1828693abf9272fceb
4
- data.tar.gz: cf498c329314c4282a1985082ee873e1fcb3c967
3
+ metadata.gz: 1f7ad585f305f35d7882cd2fbf7386161fd4f181
4
+ data.tar.gz: df01c019666cf4b84f88c54a12391535641d3dba
5
5
  SHA512:
6
- metadata.gz: 05c9eeeffe1d37c3c22c1afb178b071ecaad89a19480e121218cb4173af82b2218ede70a73ce7cda9dcf8f84fdee4526f2122b0184ac07b8e04239acf61f7682
7
- data.tar.gz: 20af7b02dc81a1ac00b0435009ddf8b26f761d86d01257193ae3ee54d3d169c1ed154fd373b636f8c0f3c30b461870ba47ad6028abafcdc3fe80505e8f429500
6
+ metadata.gz: 775353b91d38dc4440c284f7fefbcbdf725c6fa0919b1e103411ab95ef74b5199846733086bc7add75b7e0db66565af3bd5c8def00f50a507478b7c45fa6e97d
7
+ data.tar.gz: 2a652ffd1288001a9bf4632a03a5e6d7237e823ada4215a599493de425486dacd9713b54ceee0cb9f36cfb15d0880c9bb7e0229a0b3909ebd78d9aa0697dee92
data/Rakefile CHANGED
@@ -11,6 +11,8 @@ namespace :assets do
11
11
 
12
12
  Dir[source].each do |file|
13
13
  script = CoffeeScript.compile File.read(file)
14
+ puts file
15
+ puts File.basename(file)
14
16
  File.open File.join(dest, File.basename(file).gsub('.coffee', '.js')), 'w' do |f|
15
17
  f.puts script
16
18
  end
@@ -1,5 +1,5 @@
1
1
  module Growbot
2
2
  module Web
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
@@ -1,6 +1,5 @@
1
1
  menu = $('#navigation-menu')
2
2
  menuToggle = $('#js-mobile-menu')
3
-
4
3
  menuToggle.on 'click', (e) ->
5
4
  e.preventDefault()
6
5
  menu.slideToggle () ->
@@ -19,12 +18,13 @@ displayError = () ->
19
18
 
20
19
  drawAverages = (rawData) ->
21
20
  # Reduce down the data to build averages
22
- hourAgo = new Date()
23
- hourAgo.setHours hourAgo.getHours()-1
21
+ # hourAgo = new Date()
22
+ # hourAgo.setHours hourAgo.getHours()-1
24
23
 
25
24
 
26
- data = rawData.filter (d) -> d.time >= hourAgo
27
- return unless data.length
25
+ # data = rawData.filter (d) -> d.time >= hourAgo
26
+ # return unless data.length
27
+ data = rawData
28
28
 
29
29
  totalLevels = data.reduce ((p, c) ->
30
30
  p.moisture += c.moisture
@@ -42,37 +42,6 @@ drawAverages = (rawData) ->
42
42
  getContainerWidth = (container) ->
43
43
  $(container).innerWidth()
44
44
 
45
- drawLine = (data, container, xKey='x', yKey='y', scales) ->
46
- width = getContainerWidth(container)
47
- m = [15, 80, 15, 80] # Margins
48
- w = width - m[1] - m[3] # Width
49
- h = 400 - m[0] - m[2] # Height
50
- # Create the initial chart to work with
51
- chart = d3.select(container).append('svg')
52
- .attr('width', w + m[1] + m[3]).attr('height', h + m[0] + m[1])
53
- .append('g')
54
- .attr('transform', "translate(#{m[3]}, #{m[0]})")
55
-
56
- scales.x.range([0, w])
57
- scales.y.range([0, h])
58
-
59
- xAxis = d3.svg.axis().scale(scales.x)
60
- yAxis = d3.svg.axis().scale(scales.y).orient('left')
61
- chart.append('g').attr('class', 'x axis')
62
- .attr('transform', "translate(0, #{h})")
63
- .call(xAxis)
64
- chart.append('g').attr('class', 'y axis')
65
- .attr('transform', "translate(0, 0)")
66
- .call(yAxis)
67
-
68
- line = d3.svg.line()
69
- .x((d) -> scales.x(d[xKey]))
70
- .y((d) -> scales.y(d[yKey]))
71
- # .interpolate('cardinal')
72
-
73
- chart.append('path').attr('d', line(data))
74
-
75
-
76
45
  d3.json('/data.json')
77
46
  .get (error, data) ->
78
47
  data = data.map (d) ->
@@ -90,9 +59,8 @@ d3.json('/data.json')
90
59
 
91
60
  drawAverages(data)
92
61
 
93
-
94
62
  width = getContainerWidth('#lineChart')
95
- m = [15, 80, 15, 80] # Margins
63
+ m = [10, 25, 0, 40] # Margins [top
96
64
  w = width - m[1] - m[3] # Width
97
65
  h = 300 - m[0] - m[2] # Height
98
66
 
@@ -126,6 +94,5 @@ d3.json('/data.json')
126
94
  .y((d) -> scales.y(d.light))
127
95
 
128
96
  colorScale = d3.scale.category10()
129
- console.log(colorScale)
130
97
  chart.append('path').attr('d', moistureLine(data)).style('stroke', colorScale(0))
131
98
  chart.append('path').attr('d', lightLine(data)).style('stroke', colorScale(1))
@@ -4,7 +4,7 @@
4
4
  %aside
5
5
  #moistureWidget.big-number.widget
6
6
  .number 0
7
- .label Avg moisture over last hour
7
+ .label Avg moisture content
8
8
  #lightWidget.big-number.widget
9
9
  .number 0
10
- .label Avg light over last hour
10
+ .label Avg light level
@@ -2,6 +2,7 @@
2
2
  %head
3
3
  %title Growbot
4
4
  %link(href="/vendor/colorbrewer/colorbrewer.css" type="text/css" rel="stylesheet")
5
+ %link(href="/vendor/normalize-css/normalize.css" type="text/css" rel="stylesheet")
5
6
  %link(href="/stylesheets/app.css" type="text/css" rel="stylesheet")
6
7
  %body
7
8
  %header.navigation
@@ -6,19 +6,16 @@
6
6
 
7
7
  @import 'widgets/widgets';
8
8
 
9
- body {
10
- margin: 0;
11
- padding: 0;
12
- }
13
-
14
9
  // Layout
15
10
  section {
16
11
  @include outer-container;
17
-
18
- main { @include span-columns(9); }
19
- aside { @include span-columns(3); }
12
+ @include media($medium-screen-up) {
13
+ main { @include span-columns(3); }
14
+ aside { @include span-columns(1); }
15
+ }
20
16
  }
21
17
 
18
+
22
19
  // Sections
23
20
  section {
24
21
  .title {
@@ -3,7 +3,6 @@
3
3
  @import "../neat/neat-helpers"; // or "neat/neat-helpers" when not in Rails
4
4
  @import "grid-settings";
5
5
 
6
-
7
6
  // Bitters
8
7
  ///////////////////////////////////////////////////////////////////////////////
9
8
  @import "variables";
@@ -1,9 +1,9 @@
1
1
  // Neat Overrides
2
2
  ///////////////////////////////////////////////////////////////////////////////
3
- // $column: 90px;
4
- // $gutter: 30px;
5
- // $grid-columns: 12;
6
- // $max-width: em(1088);
3
+ $column: 90px;
4
+ $gutter: 30px;
5
+ $grid-columns: 12;
6
+ $max-width: em(1088);
7
7
 
8
8
  // Neat Breakpoints
9
9
  ///////////////////////////////////////////////////////////////////////////////
@@ -3,15 +3,16 @@
3
3
 
4
4
  border: 2px solid $medium-gray;
5
5
  background: $dark-gray;
6
- border-radius: 1em;
7
- padding: 0.8em 0;
6
+ border-radius: em(16);
7
+ padding: em(16) 0;
8
8
 
9
+ margin-top: em(10);
9
10
 
10
11
  text-align: center;
11
12
  .number {
12
- font-size: 3.5em;
13
+ font-size: em(50);
13
14
  font-weight: 800;
14
- line-height: 0.8em;
15
+ line-height: em(16);
15
16
  color: $stats-color;
16
17
  }
17
18
  .label {
@@ -1,5 +1,5 @@
1
1
  (function() {
2
- var displayError, drawAverages, drawLine, getContainerWidth, menu, menuToggle;
2
+ var displayError, drawAverages, getContainerWidth, menu, menuToggle;
3
3
 
4
4
  menu = $('#navigation-menu');
5
5
 
@@ -25,15 +25,8 @@
25
25
  };
26
26
 
27
27
  drawAverages = function(rawData) {
28
- var averageLevels, data, hourAgo, totalLevels;
29
- hourAgo = new Date();
30
- hourAgo.setHours(hourAgo.getHours() - 1);
31
- data = rawData.filter(function(d) {
32
- return d.time >= hourAgo;
33
- });
34
- if (!data.length) {
35
- return;
36
- }
28
+ var averageLevels, data, totalLevels;
29
+ data = rawData;
37
30
  totalLevels = data.reduce((function(p, c) {
38
31
  p.moisture += c.moisture;
39
32
  p.light += c.light;
@@ -54,33 +47,6 @@
54
47
  return $(container).innerWidth();
55
48
  };
56
49
 
57
- drawLine = function(data, container, xKey, yKey, scales) {
58
- var chart, h, line, m, w, width, xAxis, yAxis;
59
- if (xKey == null) {
60
- xKey = 'x';
61
- }
62
- if (yKey == null) {
63
- yKey = 'y';
64
- }
65
- width = getContainerWidth(container);
66
- m = [15, 80, 15, 80];
67
- w = width - m[1] - m[3];
68
- h = 400 - m[0] - m[2];
69
- chart = d3.select(container).append('svg').attr('width', w + m[1] + m[3]).attr('height', h + m[0] + m[1]).append('g').attr('transform', "translate(" + m[3] + ", " + m[0] + ")");
70
- scales.x.range([0, w]);
71
- scales.y.range([0, h]);
72
- xAxis = d3.svg.axis().scale(scales.x);
73
- yAxis = d3.svg.axis().scale(scales.y).orient('left');
74
- chart.append('g').attr('class', 'x axis').attr('transform', "translate(0, " + h + ")").call(xAxis);
75
- chart.append('g').attr('class', 'y axis').attr('transform', "translate(0, 0)").call(yAxis);
76
- line = d3.svg.line().x(function(d) {
77
- return scales.x(d[xKey]);
78
- }).y(function(d) {
79
- return scales.y(d[yKey]);
80
- });
81
- return chart.append('path').attr('d', line(data));
82
- };
83
-
84
50
  d3.json('/data.json').get(function(error, data) {
85
51
  var chart, colorScale, h, lightLine, m, max, min, moistureLine, scales, w, width, xAxis, yAxis;
86
52
  data = data.map(function(d) {
@@ -112,7 +78,7 @@
112
78
  };
113
79
  drawAverages(data);
114
80
  width = getContainerWidth('#lineChart');
115
- m = [15, 80, 15, 80];
81
+ m = [10, 25, 0, 40];
116
82
  w = width - m[1] - m[3];
117
83
  h = 300 - m[0] - m[2];
118
84
  scales = {
@@ -140,7 +106,6 @@
140
106
  return scales.y(d.light);
141
107
  });
142
108
  colorScale = d3.scale.category10();
143
- console.log(colorScale);
144
109
  chart.append('path').attr('d', moistureLine(data)).style('stroke', colorScale(0));
145
110
  return chart.append('path').attr('d', lightLine(data)).style('stroke', colorScale(1));
146
111
  });
@@ -1 +1,2 @@
1
- *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}button,input[type="submit"]{border:1px solid #2459a6;border-radius:3px;box-shadow:inset 0 1px 0 0 #89a8d5;color:#fff;display:inline-block;font-size:inherit;font-weight:bold;background-color:#477dca;background-image:-webkit-linear-gradient(#477dca,#2760b2);background-image:linear-gradient(#477dca,#2760b2);padding:7px 18px;text-decoration:none;text-shadow:0 1px 0 #1b4f9a;background-clip:padding-box;-webkit-font-smoothing:antialiased;font-size:1em;font-weight:bold;line-height:1em}button:hover:not(:disabled),input[type="submit"]:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #628cc8;cursor:pointer;background-color:#3c71bb;background-image:-webkit-linear-gradient(#3c71bb,#255aa5);background-image:linear-gradient(#3c71bb,#255aa5)}button:active:not(:disabled),input[type="submit"]:active:not(:disabled),button:focus:not(:disabled),input[type="submit"]:focus:not(:disabled){border:1px solid #2459a6;box-shadow:inset 0 0 8px 4px #235397,inset 0 0 8px 4px #235397}button:disabled,input[type="submit"]:disabled{opacity:0.5;cursor:not-allowed}body{color:#333;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;-webkit-font-smoothing:antialiased;line-height:1.5em}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;line-height:1.25em;margin:0;text-rendering:optimizeLegibility}h1{font-size:2.25em}h2{font-size:2em}h3{font-size:1.75em}h4{font-size:1.5em}h5{font-size:1.25em}h6{font-size:1em}p{margin:0 0 0.75em}a{color:#477dca;text-decoration:none;-webkit-transition:color 0.1s linear;-moz-transition:color 0.1s linear;transition:color 0.1s linear}a:hover{color:#2c5999}a:active,a:focus{color:#2c5999;outline:none}hr{border-bottom:1px solid #ddd;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img{margin:0;max-width:100%}abbr,acronym{border-bottom:1px dotted #ddd;cursor:help}address{display:block;margin:0 0 0.75em}hgroup{margin-bottom:0.75em}del{color:#595959}blockquote{border-left:2px solid #ddd;color:#595959;margin:1.5em 0;padding-left:0.75em}cite{color:#737373;font-style:italic}cite:before{content:'\2014 \00A0'}fieldset{background:#f7f7f7;border:1px solid #ddd;margin:0 0 0.75em 0;padding:1.5em}input,label,select{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em}label{font-weight:bold;margin-bottom:0.375em}label.required:after{content:"*"}label abbr{display:none}textarea,input[type="email"],input[type="number"],input[type="password"],input[type="search"],input[type="tel"],input[type="text"],input[type="url"],input[type="color"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="time"],input[type="week"],select[multiple=multiple]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color;-moz-transition:border-color;transition:border-color;background-color:white;border-radius:0.1875em;border:1px solid #ddd;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06);font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;margin-bottom:0.75em;padding:0.5em 0.5em;width:100%}textarea:hover,input[type="email"]:hover,input[type="number"]:hover,input[type="password"]:hover,input[type="search"]:hover,input[type="tel"]:hover,input[type="text"]:hover,input[type="url"]:hover,input[type="color"]:hover,input[type="date"]:hover,input[type="datetime"]:hover,input[type="datetime-local"]:hover,input[type="month"]:hover,input[type="time"]:hover,input[type="week"]:hover,select[multiple=multiple]:hover{border-color:#c4c4c4}textarea:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="text"]:focus,input[type="url"]:focus,input[type="color"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,select[multiple=multiple]:focus{border-color:#477dca;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06),0 0 5px rgba(55,112,192,0.7);outline:none}textarea{resize:vertical}input[type="search"]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type="checkbox"],input[type="radio"]{display:inline;margin-right:0.375em}input[type="file"]{width:100%}select{width:auto;max-width:100%;margin-bottom:1.5em}button,input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;cursor:pointer;user-select:none;vertical-align:middle;white-space:nowrap}table{border-collapse:collapse;margin:0.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:bold;padding:0.75em 0;text-align:left}td{border-bottom:1px solid #ddd;padding:0.75em 0}tr,td,th{vertical-align:middle}ul,ol{margin:0;padding:0;list-style-type:none}dl{line-height:1.5em;margin-bottom:0.75em}dl dt{font-weight:bold;margin-top:0.75em}dl dd{margin:0}div.error{background:#fbe3e4;color:#96151b;font-weight:bold;margin-bottom:0.75em;padding:0.75em}div.error a{color:#6a0f13}div.error a:hover{color:#110203}div.notice{background:#fff6bf;color:#8c7800;font-weight:bold;margin-bottom:0.75em;padding:0.75em}div.notice a{color:#594c00}div.notice a:hover{color:#000}div.success{background:#e6efc2;color:#56651a;font-weight:bold;margin-bottom:0.75em;padding:0.75em}div.success a{color:#333c10}div.success a:hover{color:#000}header.navigation{background-color:#333;border-bottom:1px solid #1a1a1a;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;height:60px;width:100%;z-index:999}header.navigation .menu-wrapper{max-width:68em;margin-left:auto;margin-right:auto;position:relative;z-index:9999}header.navigation .menu-wrapper:after{content:"";display:table;clear:both}header.navigation .logo{float:left;max-height:60px;padding-right:2em;color:white;font-weight:bold;font-size:1.5em;line-height:60px}header.navigation .logo img{max-height:60px;padding:.8em 0}header.navigation .navigation-menu-button{color:rgba(255,255,255,0.7);cursor:pointer;display:block;float:right;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:700;line-height:60px;margin:0;padding-right:1em;text-transform:uppercase}@media screen and (min-width: 53.75em){header.navigation .navigation-menu-button{display:none}}header.navigation .navigation-menu-button:hover{color:#fff}@media screen and (min-width: 53.75em){header.navigation .nav{float:left}}header.navigation ul#navigation-menu{clear:both;-webkit-transform-style:preserve-3d;display:none;margin:0 auto;overflow:hidden;padding:0;width:100%;z-index:9999}@media screen and (min-width: 53.75em){header.navigation ul#navigation-menu{display:inline;margin:0;padding:0}}header.navigation ul li{background:#333;display:block;line-height:60px;overflow:hidden;padding-right:.8em;text-align:right;width:100%;z-index:9999}@media screen and (min-width: 53.75em){header.navigation ul li{background:transparent;display:inline;line-height:60px;padding-right:2em;text-decoration:none;width:auto}}header.navigation ul li a{font-weight:400;color:rgba(255,255,255,0.7)}header.navigation ul li a:hover{color:#fff}@media screen and (min-width: 53.75em){header.navigation .sign-up,header.navigation .take-reading{position:absolute;top:0px;right:0px;bottom:0;left:0;padding-right:1em}header.navigation .sign-up a,header.navigation .take-reading a{-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;background:#477dca;border-radius:0.1875em;color:white;font-size:.8em;font-weight:800;padding:.6em 1em;text-transform:uppercase}header.navigation .sign-up a:hover,header.navigation .take-reading a:hover{background:#6f99d5}}header.navigation li.navigation-search-bar{display:none}@media screen and (min-width: 53.75em){header.navigation li.navigation-search-bar{position:absolute;top:0px;right:76px;bottom:0;left:0;display:inline-block;line-height:0 !important;padding:13px 30px}}header.navigation .search-bar{width:19em;position:relative;display:inline-block}header.navigation .search-bar input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block}header.navigation .search-bar .search-and-submit{position:relative}header.navigation .search-bar .search-and-submit input[type=search]{background:#404040;border:1px solid #262626;padding:.6em .8em;font-size:.9em;font-style:italic;color:rgba(255,255,255,0.7);border-radius:0.375em;margin:0}header.navigation .search-bar .search-and-submit button[type=submit]{border:1px solid #363636;border-radius:3px;box-shadow:inset 0 1px 0 0 gray;color:#fff;display:inline-block;font-size:inherit;font-weight:bold;background-color:#595959;background-image:-webkit-linear-gradient(#595959,#3d3d3d);background-image:linear-gradient(#595959,#3d3d3d);padding:7px 18px;text-decoration:none;text-shadow:0 1px 0 #2b2b2b;background-clip:padding-box;border:1px solid #3a3131;border-radius:3px;box-shadow:inset 0 1px 0 0 gray;color:#fff;display:inline-block;font-size:inherit;font-weight:bold;background-color:#595959;background-image:-webkit-linear-gradient(#595959,#433838);background-image:linear-gradient(#595959,#433838);padding:7px 18px;text-decoration:none;text-shadow:0 1px 0 #322525;background-clip:padding-box;position:absolute;top:0.3em;right:0.3em;bottom:0.3em;left:0;outline:none;padding:5px 15px}header.navigation .search-bar .search-and-submit button[type=submit]:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #666;cursor:pointer;background-color:#4d4d4d;background-image:-webkit-linear-gradient(#4d4d4d,#363636);background-image:linear-gradient(#4d4d4d,#363636)}header.navigation .search-bar .search-and-submit button[type=submit]:active:not(:disabled),header.navigation .search-bar .search-and-submit button[type=submit]:focus:not(:disabled){border:1px solid #363636;box-shadow:inset 0 0 8px 4px #2e2e2e,inset 0 0 8px 4px #2e2e2e}header.navigation .search-bar .search-and-submit button[type=submit]:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #666;cursor:pointer;background-color:#4d4d4d;background-image:-webkit-linear-gradient(#4d4d4d,#3a3131);background-image:linear-gradient(#4d4d4d,#3a3131)}header.navigation .search-bar .search-and-submit button[type=submit]:active:not(:disabled),header.navigation .search-bar .search-and-submit button[type=submit]:focus:not(:disabled){border:1px solid #3a3131;box-shadow:inset 0 0 8px 4px #312b2b,inset 0 0 8px 4px #312b2b}header.navigation .search-bar .search-and-submit button[type=submit]:disabled{opacity:0.5;cursor:not-allowed}header.navigation .search-bar .search-and-submit button[type=submit] img{height:12px;opacity:.7}.widget.big-number{border:2px solid #999;background:#333;border-radius:1em;padding:0.8em 0;text-align:center}.widget.big-number .number{font-size:3.5em;font-weight:800;line-height:0.8em;color:#477dca}.widget.big-number .label{font-size:0.7em;color:#ddd}body{margin:0;padding:0}section{max-width:68em;margin-left:auto;margin-right:auto}section:after{content:"";display:table;clear:both}section main{float:left;display:block;margin-right:2.35765%;width:74.41059%}section main:last-child{margin-right:0}section aside{float:left;display:block;margin-right:2.35765%;width:23.23176%}section aside:last-child{margin-right:0}section .title{border-bottom:1px solid #eee;margin-bottom:24.27px}path{stroke-width:1;fill:none}.axis{shape-rendering:crispEdges}.axis text{font-size:10px}.axis line,.axis path{stroke:#ddd}.axis.x .minor{stroke-opacity:0.5}
1
+ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}button,input[type="submit"]{border:1px solid #2459a6;border-radius:3px;box-shadow:inset 0 1px 0 0 #89a8d5;color:#fff;display:inline-block;font-size:inherit;font-weight:bold;background-color:#477dca;background-image:-webkit-linear-gradient(#477dca,#2760b2);background-image:linear-gradient(#477dca,#2760b2);padding:7px 18px;text-decoration:none;text-shadow:0 1px 0 #1b4f9a;background-clip:padding-box;-webkit-font-smoothing:antialiased;font-size:1em;font-weight:bold;line-height:1em}button:hover:not(:disabled),input[type="submit"]:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #628cc8;cursor:pointer;background-color:#3c71bb;background-image:-webkit-linear-gradient(#3c71bb,#255aa5);background-image:linear-gradient(#3c71bb,#255aa5)}button:active:not(:disabled),input[type="submit"]:active:not(:disabled),button:focus:not(:disabled),input[type="submit"]:focus:not(:disabled){border:1px solid #2459a6;box-shadow:inset 0 0 8px 4px #235397,inset 0 0 8px 4px #235397}button:disabled,input[type="submit"]:disabled{opacity:0.5;cursor:not-allowed}body{color:#333;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;-webkit-font-smoothing:antialiased;line-height:1.5em}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;line-height:1.25em;margin:0;text-rendering:optimizeLegibility}h1{font-size:2.25em}h2{font-size:2em}h3{font-size:1.75em}h4{font-size:1.5em}h5{font-size:1.25em}h6{font-size:1em}p{margin:0 0 0.75em}a{color:#477dca;text-decoration:none;-webkit-transition:color 0.1s linear;-moz-transition:color 0.1s linear;transition:color 0.1s linear}a:hover{color:#2c5999}a:active,a:focus{color:#2c5999;outline:none}hr{border-bottom:1px solid #ddd;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img{margin:0;max-width:100%}abbr,acronym{border-bottom:1px dotted #ddd;cursor:help}address{display:block;margin:0 0 0.75em}hgroup{margin-bottom:0.75em}del{color:#595959}blockquote{border-left:2px solid #ddd;color:#595959;margin:1.5em 0;padding-left:0.75em}cite{color:#737373;font-style:italic}cite:before{content:'\2014 \00A0'}fieldset{background:#f7f7f7;border:1px solid #ddd;margin:0 0 0.75em 0;padding:1.5em}input,label,select{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em}label{font-weight:bold;margin-bottom:0.375em}label.required:after{content:"*"}label abbr{display:none}textarea,input[type="email"],input[type="number"],input[type="password"],input[type="search"],input[type="tel"],input[type="text"],input[type="url"],input[type="color"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="time"],input[type="week"],select[multiple=multiple]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color;-moz-transition:border-color;transition:border-color;background-color:white;border-radius:0.1875em;border:1px solid #ddd;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06);font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;margin-bottom:0.75em;padding:0.5em 0.5em;width:100%}textarea:hover,input[type="email"]:hover,input[type="number"]:hover,input[type="password"]:hover,input[type="search"]:hover,input[type="tel"]:hover,input[type="text"]:hover,input[type="url"]:hover,input[type="color"]:hover,input[type="date"]:hover,input[type="datetime"]:hover,input[type="datetime-local"]:hover,input[type="month"]:hover,input[type="time"]:hover,input[type="week"]:hover,select[multiple=multiple]:hover{border-color:#c4c4c4}textarea:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="text"]:focus,input[type="url"]:focus,input[type="color"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,select[multiple=multiple]:focus{border-color:#477dca;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06),0 0 5px rgba(55,112,192,0.7);outline:none}textarea{resize:vertical}input[type="search"]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type="checkbox"],input[type="radio"]{display:inline;margin-right:0.375em}input[type="file"]{width:100%}select{width:auto;max-width:100%;margin-bottom:1.5em}button,input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;cursor:pointer;user-select:none;vertical-align:middle;white-space:nowrap}table{border-collapse:collapse;margin:0.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:bold;padding:0.75em 0;text-align:left}td{border-bottom:1px solid #ddd;padding:0.75em 0}tr,td,th{vertical-align:middle}ul,ol{margin:0;padding:0;list-style-type:none}dl{line-height:1.5em;margin-bottom:0.75em}dl dt{font-weight:bold;margin-top:0.75em}dl dd{margin:0}div.error{background:#fbe3e4;color:#96151b;font-weight:bold;margin-bottom:0.75em;padding:0.75em}div.error a{color:#6a0f13}div.error a:hover{color:#110203}div.notice{background:#fff6bf;color:#8c7800;font-weight:bold;margin-bottom:0.75em;padding:0.75em}div.notice a{color:#594c00}div.notice a:hover{color:#000}div.success{background:#e6efc2;color:#56651a;font-weight:bold;margin-bottom:0.75em;padding:0.75em}div.success a{color:#333c10}div.success a:hover{color:#000}header.navigation{background-color:#333;border-bottom:1px solid #1a1a1a;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;height:60px;width:100%;z-index:999}header.navigation .menu-wrapper{max-width:68em;margin-left:auto;margin-right:auto;position:relative;z-index:9999}header.navigation .menu-wrapper:after{content:"";display:table;clear:both}header.navigation .logo{float:left;max-height:60px;padding-right:2em;color:white;font-weight:bold;font-size:1.5em;line-height:60px}header.navigation .logo img{max-height:60px;padding:.8em 0}header.navigation .navigation-menu-button{color:rgba(255,255,255,0.7);cursor:pointer;display:block;float:right;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:700;line-height:60px;margin:0;padding-right:1em;text-transform:uppercase}@media screen and (min-width: 53.75em){header.navigation .navigation-menu-button{display:none}}header.navigation .navigation-menu-button:hover{color:#fff}@media screen and (min-width: 53.75em){header.navigation .nav{float:left}}header.navigation ul#navigation-menu{clear:both;-webkit-transform-style:preserve-3d;display:none;margin:0 auto;overflow:hidden;padding:0;width:100%;z-index:9999}@media screen and (min-width: 53.75em){header.navigation ul#navigation-menu{display:inline;margin:0;padding:0}}header.navigation ul li{background:#333;display:block;line-height:60px;overflow:hidden;padding-right:.8em;text-align:right;width:100%;z-index:9999}@media screen and (min-width: 53.75em){header.navigation ul li{background:transparent;display:inline;line-height:60px;padding-right:2em;text-decoration:none;width:auto}}header.navigation ul li a{font-weight:400;color:rgba(255,255,255,0.7)}header.navigation ul li a:hover{color:#fff}@media screen and (min-width: 53.75em){header.navigation .sign-up,header.navigation .take-reading{position:absolute;top:0px;right:0px;bottom:0;left:0;padding-right:1em}header.navigation .sign-up a,header.navigation .take-reading a{-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;background:#477dca;border-radius:0.1875em;color:white;font-size:.8em;font-weight:800;padding:.6em 1em;text-transform:uppercase}header.navigation .sign-up a:hover,header.navigation .take-reading a:hover{background:#6f99d5}}header.navigation li.navigation-search-bar{display:none}@media screen and (min-width: 53.75em){header.navigation li.navigation-search-bar{position:absolute;top:0px;right:76px;bottom:0;left:0;display:inline-block;line-height:0 !important;padding:13px 30px}}header.navigation .search-bar{width:19em;position:relative;display:inline-block}header.navigation .search-bar input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block}header.navigation .search-bar .search-and-submit{position:relative}header.navigation .search-bar .search-and-submit input[type=search]{background:#404040;border:1px solid #262626;padding:.6em .8em;font-size:.9em;font-style:italic;color:rgba(255,255,255,0.7);border-radius:0.375em;margin:0}header.navigation .search-bar .search-and-submit button[type=submit]{border:1px solid #363636;border-radius:3px;box-shadow:inset 0 1px 0 0 gray;color:#fff;display:inline-block;font-size:inherit;font-weight:bold;background-color:#595959;background-image:-webkit-linear-gradient(#595959,#3d3d3d);background-image:linear-gradient(#595959,#3d3d3d);padding:7px 18px;text-decoration:none;text-shadow:0 1px 0 #2b2b2b;background-clip:padding-box;border:1px solid #3a3131;border-radius:3px;box-shadow:inset 0 1px 0 0 gray;color:#fff;display:inline-block;font-size:inherit;font-weight:bold;background-color:#595959;background-image:-webkit-linear-gradient(#595959,#433838);background-image:linear-gradient(#595959,#433838);padding:7px 18px;text-decoration:none;text-shadow:0 1px 0 #322525;background-clip:padding-box;position:absolute;top:0.3em;right:0.3em;bottom:0.3em;left:0;outline:none;padding:5px 15px}header.navigation .search-bar .search-and-submit button[type=submit]:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #666;cursor:pointer;background-color:#4d4d4d;background-image:-webkit-linear-gradient(#4d4d4d,#363636);background-image:linear-gradient(#4d4d4d,#363636)}header.navigation .search-bar .search-and-submit button[type=submit]:active:not(:disabled),header.navigation .search-bar .search-and-submit button[type=submit]:focus:not(:disabled){border:1px solid #363636;box-shadow:inset 0 0 8px 4px #2e2e2e,inset 0 0 8px 4px #2e2e2e}header.navigation .search-bar .search-and-submit button[type=submit]:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #666;cursor:pointer;background-color:#4d4d4d;background-image:-webkit-linear-gradient(#4d4d4d,#3a3131);background-image:linear-gradient(#4d4d4d,#3a3131)}header.navigation .search-bar .search-and-submit button[type=submit]:active:not(:disabled),header.navigation .search-bar .search-and-submit button[type=submit]:focus:not(:disabled){border:1px solid #3a3131;box-shadow:inset 0 0 8px 4px #312b2b,inset 0 0 8px 4px #312b2b}header.navigation .search-bar .search-and-submit button[type=submit]:disabled{opacity:0.5;cursor:not-allowed}header.navigation .search-bar .search-and-submit button[type=submit] img{height:12px;opacity:.7}.widget.big-number{border:2px solid #999;background:#333;border-radius:1em;padding:1em 0;margin-top:0.625em;text-align:center}.widget.big-number .number{font-size:3.125em;font-weight:800;line-height:1em;color:#477dca}.widget.big-number .label{font-size:0.7em;color:#ddd}section{max-width:68em;margin-left:auto;margin-right:auto}section:after{content:"";display:table;clear:both}@media screen and (min-width: 40em){section main{float:left;display:block;margin-right:7.42297%;width:73.14426%}section main:last-child{margin-right:0}section aside{float:left;display:block;margin-right:7.42297%;width:19.43277%}section aside:last-child{margin-right:0}}
2
+ section .title{border-bottom:1px solid #eee;margin-bottom:24.27px}path{stroke-width:1;fill:none}.axis{shape-rendering:crispEdges}.axis text{font-size:10px}.axis line,.axis path{stroke:#ddd}.axis.x .minor{stroke-opacity:0.5}
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "normalize-css",
3
+ "version": "3.0.1",
4
+ "main": "normalize.css",
5
+ "author": "Nicolas Gallagher",
6
+ "ignore": [
7
+ "CHANGELOG.md",
8
+ "CONTRIBUTING.md",
9
+ "component.json",
10
+ "package.json",
11
+ "test.html"
12
+ ],
13
+ "homepage": "https://github.com/necolas/normalize.css",
14
+ "_release": "3.0.1",
15
+ "_resolution": {
16
+ "type": "version",
17
+ "tag": "3.0.1",
18
+ "commit": "e3c71c911b0c0ebc0ee14d2421543ce1476fd761"
19
+ },
20
+ "_source": "git://github.com/necolas/normalize.css.git",
21
+ "_target": "~3.0.1",
22
+ "_originalSource": "normalize-css",
23
+ "_direct": true
24
+ }
@@ -0,0 +1,19 @@
1
+ Copyright (c) Nicolas Gallagher and Jonathan Neal
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1,57 @@
1
+ # normalize.css v3
2
+
3
+ Normalize.css is a customisable CSS file that makes browsers render all
4
+ elements more consistently and in line with modern standards.
5
+
6
+ The project relies on researching the differences between default browser
7
+ styles in order to precisely target only the styles that need or benefit from
8
+ normalizing.
9
+
10
+ [View the test file](http://necolas.github.io/normalize.css/latest/test.html)
11
+
12
+ ## Install
13
+
14
+ Download from the [project page](http://necolas.github.io/normalize.css/).
15
+
16
+ Install with [Component(1)](https://github.com/component/component/): `component install necolas/normalize.css`
17
+
18
+ Install with [npm](http://npmjs.org/): `npm install --save normalize.css`
19
+
20
+ Install with [Bower](http://bower.io/): `bower install --save normalize.css`
21
+
22
+ ## What does it do?
23
+
24
+ * Preserves useful defaults, unlike many CSS resets.
25
+ * Normalizes styles for a wide range of elements.
26
+ * Corrects bugs and common browser inconsistencies.
27
+ * Improves usability with subtle improvements.
28
+ * Explains what code does using detailed comments.
29
+
30
+ ## How to use it
31
+
32
+ No other styles should come before Normalize.css.
33
+
34
+ It is recommended that you include the `normalize.css` file as untouched
35
+ library code.
36
+
37
+ ## Browser support
38
+
39
+ * Google Chrome (latest)
40
+ * Mozilla Firefox (latest)
41
+ * Mozilla Firefox 4
42
+ * Opera (latest)
43
+ * Apple Safari 6+
44
+ * Internet Explorer 8+
45
+
46
+ [Normalize.css v1 provides legacy browser
47
+ support](https://github.com/necolas/normalize.css/tree/v1) (IE 6+, Safari 4+),
48
+ but is no longer actively developed.
49
+
50
+ ## Contributing
51
+
52
+ Please read the CONTRIBUTING.md
53
+
54
+ ## Acknowledgements
55
+
56
+ Normalize.css is a project by [Nicolas Gallagher](https://github.com/necolas),
57
+ co-created with [Jonathan Neal](https://github.com/jonathantneal).
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "normalize-css",
3
+ "version": "3.0.1",
4
+ "main": "normalize.css",
5
+ "author": "Nicolas Gallagher",
6
+ "ignore": [
7
+ "CHANGELOG.md",
8
+ "CONTRIBUTING.md",
9
+ "component.json",
10
+ "package.json",
11
+ "test.html"
12
+ ]
13
+ }
@@ -0,0 +1,425 @@
1
+ /*! normalize.css v3.0.1 | MIT License | git.io/normalize */
2
+
3
+ /**
4
+ * 1. Set default font family to sans-serif.
5
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ * user zoom.
7
+ */
8
+
9
+ html {
10
+ font-family: sans-serif; /* 1 */
11
+ -ms-text-size-adjust: 100%; /* 2 */
12
+ -webkit-text-size-adjust: 100%; /* 2 */
13
+ }
14
+
15
+ /**
16
+ * Remove default margin.
17
+ */
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ /* HTML5 display definitions
24
+ ========================================================================== */
25
+
26
+ /**
27
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
29
+ * Correct `block` display not defined for `main` in IE 11.
30
+ */
31
+
32
+ article,
33
+ aside,
34
+ details,
35
+ figcaption,
36
+ figure,
37
+ footer,
38
+ header,
39
+ hgroup,
40
+ main,
41
+ nav,
42
+ section,
43
+ summary {
44
+ display: block;
45
+ }
46
+
47
+ /**
48
+ * 1. Correct `inline-block` display not defined in IE 8/9.
49
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
50
+ */
51
+
52
+ audio,
53
+ canvas,
54
+ progress,
55
+ video {
56
+ display: inline-block; /* 1 */
57
+ vertical-align: baseline; /* 2 */
58
+ }
59
+
60
+ /**
61
+ * Prevent modern browsers from displaying `audio` without controls.
62
+ * Remove excess height in iOS 5 devices.
63
+ */
64
+
65
+ audio:not([controls]) {
66
+ display: none;
67
+ height: 0;
68
+ }
69
+
70
+ /**
71
+ * Address `[hidden]` styling not present in IE 8/9/10.
72
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
73
+ */
74
+
75
+ [hidden],
76
+ template {
77
+ display: none;
78
+ }
79
+
80
+ /* Links
81
+ ========================================================================== */
82
+
83
+ /**
84
+ * Remove the gray background color from active links in IE 10.
85
+ */
86
+
87
+ a {
88
+ background: transparent;
89
+ }
90
+
91
+ /**
92
+ * Improve readability when focused and also mouse hovered in all browsers.
93
+ */
94
+
95
+ a:active,
96
+ a:hover {
97
+ outline: 0;
98
+ }
99
+
100
+ /* Text-level semantics
101
+ ========================================================================== */
102
+
103
+ /**
104
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
105
+ */
106
+
107
+ abbr[title] {
108
+ border-bottom: 1px dotted;
109
+ }
110
+
111
+ /**
112
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
113
+ */
114
+
115
+ b,
116
+ strong {
117
+ font-weight: bold;
118
+ }
119
+
120
+ /**
121
+ * Address styling not present in Safari and Chrome.
122
+ */
123
+
124
+ dfn {
125
+ font-style: italic;
126
+ }
127
+
128
+ /**
129
+ * Address variable `h1` font-size and margin within `section` and `article`
130
+ * contexts in Firefox 4+, Safari, and Chrome.
131
+ */
132
+
133
+ h1 {
134
+ font-size: 2em;
135
+ margin: 0.67em 0;
136
+ }
137
+
138
+ /**
139
+ * Address styling not present in IE 8/9.
140
+ */
141
+
142
+ mark {
143
+ background: #ff0;
144
+ color: #000;
145
+ }
146
+
147
+ /**
148
+ * Address inconsistent and variable font size in all browsers.
149
+ */
150
+
151
+ small {
152
+ font-size: 80%;
153
+ }
154
+
155
+ /**
156
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
157
+ */
158
+
159
+ sub,
160
+ sup {
161
+ font-size: 75%;
162
+ line-height: 0;
163
+ position: relative;
164
+ vertical-align: baseline;
165
+ }
166
+
167
+ sup {
168
+ top: -0.5em;
169
+ }
170
+
171
+ sub {
172
+ bottom: -0.25em;
173
+ }
174
+
175
+ /* Embedded content
176
+ ========================================================================== */
177
+
178
+ /**
179
+ * Remove border when inside `a` element in IE 8/9/10.
180
+ */
181
+
182
+ img {
183
+ border: 0;
184
+ }
185
+
186
+ /**
187
+ * Correct overflow not hidden in IE 9/10/11.
188
+ */
189
+
190
+ svg:not(:root) {
191
+ overflow: hidden;
192
+ }
193
+
194
+ /* Grouping content
195
+ ========================================================================== */
196
+
197
+ /**
198
+ * Address margin not present in IE 8/9 and Safari.
199
+ */
200
+
201
+ figure {
202
+ margin: 1em 40px;
203
+ }
204
+
205
+ /**
206
+ * Address differences between Firefox and other browsers.
207
+ */
208
+
209
+ hr {
210
+ -moz-box-sizing: content-box;
211
+ box-sizing: content-box;
212
+ height: 0;
213
+ }
214
+
215
+ /**
216
+ * Contain overflow in all browsers.
217
+ */
218
+
219
+ pre {
220
+ overflow: auto;
221
+ }
222
+
223
+ /**
224
+ * Address odd `em`-unit font size rendering in all browsers.
225
+ */
226
+
227
+ code,
228
+ kbd,
229
+ pre,
230
+ samp {
231
+ font-family: monospace, monospace;
232
+ font-size: 1em;
233
+ }
234
+
235
+ /* Forms
236
+ ========================================================================== */
237
+
238
+ /**
239
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
240
+ * styling of `select`, unless a `border` property is set.
241
+ */
242
+
243
+ /**
244
+ * 1. Correct color not being inherited.
245
+ * Known issue: affects color of disabled elements.
246
+ * 2. Correct font properties not being inherited.
247
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
248
+ */
249
+
250
+ button,
251
+ input,
252
+ optgroup,
253
+ select,
254
+ textarea {
255
+ color: inherit; /* 1 */
256
+ font: inherit; /* 2 */
257
+ margin: 0; /* 3 */
258
+ }
259
+
260
+ /**
261
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
262
+ */
263
+
264
+ button {
265
+ overflow: visible;
266
+ }
267
+
268
+ /**
269
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
270
+ * All other form control elements do not inherit `text-transform` values.
271
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
272
+ * Correct `select` style inheritance in Firefox.
273
+ */
274
+
275
+ button,
276
+ select {
277
+ text-transform: none;
278
+ }
279
+
280
+ /**
281
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
282
+ * and `video` controls.
283
+ * 2. Correct inability to style clickable `input` types in iOS.
284
+ * 3. Improve usability and consistency of cursor style between image-type
285
+ * `input` and others.
286
+ */
287
+
288
+ button,
289
+ html input[type="button"], /* 1 */
290
+ input[type="reset"],
291
+ input[type="submit"] {
292
+ -webkit-appearance: button; /* 2 */
293
+ cursor: pointer; /* 3 */
294
+ }
295
+
296
+ /**
297
+ * Re-set default cursor for disabled elements.
298
+ */
299
+
300
+ button[disabled],
301
+ html input[disabled] {
302
+ cursor: default;
303
+ }
304
+
305
+ /**
306
+ * Remove inner padding and border in Firefox 4+.
307
+ */
308
+
309
+ button::-moz-focus-inner,
310
+ input::-moz-focus-inner {
311
+ border: 0;
312
+ padding: 0;
313
+ }
314
+
315
+ /**
316
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
317
+ * the UA stylesheet.
318
+ */
319
+
320
+ input {
321
+ line-height: normal;
322
+ }
323
+
324
+ /**
325
+ * It's recommended that you don't attempt to style these elements.
326
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
327
+ *
328
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
329
+ * 2. Remove excess padding in IE 8/9/10.
330
+ */
331
+
332
+ input[type="checkbox"],
333
+ input[type="radio"] {
334
+ box-sizing: border-box; /* 1 */
335
+ padding: 0; /* 2 */
336
+ }
337
+
338
+ /**
339
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
340
+ * `font-size` values of the `input`, it causes the cursor style of the
341
+ * decrement button to change from `default` to `text`.
342
+ */
343
+
344
+ input[type="number"]::-webkit-inner-spin-button,
345
+ input[type="number"]::-webkit-outer-spin-button {
346
+ height: auto;
347
+ }
348
+
349
+ /**
350
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
351
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
352
+ * (include `-moz` to future-proof).
353
+ */
354
+
355
+ input[type="search"] {
356
+ -webkit-appearance: textfield; /* 1 */
357
+ -moz-box-sizing: content-box;
358
+ -webkit-box-sizing: content-box; /* 2 */
359
+ box-sizing: content-box;
360
+ }
361
+
362
+ /**
363
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
364
+ * Safari (but not Chrome) clips the cancel button when the search input has
365
+ * padding (and `textfield` appearance).
366
+ */
367
+
368
+ input[type="search"]::-webkit-search-cancel-button,
369
+ input[type="search"]::-webkit-search-decoration {
370
+ -webkit-appearance: none;
371
+ }
372
+
373
+ /**
374
+ * Define consistent border, margin, and padding.
375
+ */
376
+
377
+ fieldset {
378
+ border: 1px solid #c0c0c0;
379
+ margin: 0 2px;
380
+ padding: 0.35em 0.625em 0.75em;
381
+ }
382
+
383
+ /**
384
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
385
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
386
+ */
387
+
388
+ legend {
389
+ border: 0; /* 1 */
390
+ padding: 0; /* 2 */
391
+ }
392
+
393
+ /**
394
+ * Remove default vertical scrollbar in IE 8/9/10/11.
395
+ */
396
+
397
+ textarea {
398
+ overflow: auto;
399
+ }
400
+
401
+ /**
402
+ * Don't inherit the `font-weight` (applied by a rule above).
403
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
404
+ */
405
+
406
+ optgroup {
407
+ font-weight: bold;
408
+ }
409
+
410
+ /* Tables
411
+ ========================================================================== */
412
+
413
+ /**
414
+ * Remove most spacing between table cells.
415
+ */
416
+
417
+ table {
418
+ border-collapse: collapse;
419
+ border-spacing: 0;
420
+ }
421
+
422
+ td,
423
+ th {
424
+ padding: 0;
425
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: growbot-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Long
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-09 00:00:00.000000000 Z
11
+ date: 2014-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -440,6 +440,11 @@ files:
440
440
  - public/vendor/jquery/src/var/support.js
441
441
  - public/vendor/jquery/src/var/toString.js
442
442
  - public/vendor/jquery/src/wrap.js
443
+ - public/vendor/normalize-css/.bower.json
444
+ - public/vendor/normalize-css/LICENSE.md
445
+ - public/vendor/normalize-css/README.md
446
+ - public/vendor/normalize-css/bower.json
447
+ - public/vendor/normalize-css/normalize.css
443
448
  homepage: http://github.com/davejlong/growbot-web
444
449
  licenses:
445
450
  - MIT