compass-golden-grid-system 0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+ .DS_Store
5
+ .sass-cache
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in compass-golden-grid-system.gemspec
4
+ gemspec
@@ -0,0 +1,78 @@
1
+ #Golden Grid System Compass Plugin
2
+
3
+ This plugin adds the Golden Grid System to [Compass](http://compass-style.org).
4
+
5
+ [Golden Grid System](http://goldengridsystem.com) is a fluid grid created by [Joni Korpi](http://jonikorpi.com) with
6
+ [four features](http://goldengridsystem.com/#features): columns, gutters, a baseline and a script.
7
+
8
+ ##Install the gem
9
+
10
+ `gem install compass-golden-grid-system`
11
+
12
+ ##Create a Compass project using Golden Grid System
13
+
14
+ `compass create -r ggs my_project --using ggs`
15
+
16
+ This will create a Compass project with the default directory structure
17
+ and use scss syntax.
18
+
19
+ See the Compass [Install](http://compass-style.org/install) page for
20
+ options.
21
+
22
+ ###Sans Compass
23
+
24
+ Download the source and use it in your sass project.
25
+
26
+ ##Usage
27
+
28
+ In the `sass` directory you will find the bootstrap file `GGS.scss`
29
+ which imports all of the component files.
30
+
31
+ ###Partials
32
+
33
+ There are partials for each grid size:
34
+
35
+ - `_mobile.scss` the default layout of 4 columns
36
+ - `_tablet.scss` 8 column grid
37
+ - `_large.scss` 16 column grid
38
+
39
+ `_type.scss` contains the type presets.
40
+
41
+ _I left the classes to remain consistent with the original `GGS.css` file but they aren't necessary._
42
+
43
+ `_global.scss` is for styles shared by all layouts.
44
+
45
+ ##Configuration Variables
46
+
47
+ From the GGS.scss file
48
+
49
+ `$line: 24` - Line height
50
+ `$column: 100% / 18` - Column width
51
+ `$font-size: 16` - Base font size
52
+ `$em: $font-size * 1` EM conversion
53
+
54
+ I've added:
55
+
56
+ `$layout: 8 !default` - This variable is overridden in each layout.
57
+ `$page: 100% !default` - You probably wouldn't change this and it
58
+ probably didn't need to be a variable.
59
+
60
+ ###Mixins
61
+
62
+ - `column($columns, $side)` - Considers the `$layout` and sets the width of an element to span the number of given columns, and optionally set a float direction.
63
+ - `outer($columns)` - Sets the outer margin width.
64
+ - `wrapper` - Elastic gutters, applies `padding: 0 .075em` and `box-sizing:
65
+ border-box`.
66
+ - There are mixins for each of the type presets as well.
67
+
68
+ ##Credit
69
+
70
+ Thanks to Joni Korpi for creating rad minimal tools. I started with the [GGS.scss](http://github.com/jonikorpi/Golden-Grid-System/blob/master/GGS.scss)
71
+ file which was contributed by [mikker](http://github.com/mikker)
72
+
73
+ Thanks to [willhw's](http://github.com/willhw) [compass-less-plugin](http://github.com/willhw/compass-less-plugin) which I used as a reference point.
74
+
75
+ ##Notes
76
+
77
+ I'm no sass/compass expert. This is my first Compass extension and Ruby Gem and I'm sure there art things that could
78
+ be improved. Feel free to make it better. Cheers.
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "compass-golden-grid-system"
6
+ s.version = "0.1"
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Tal Williams"]
9
+ s.email = ["contact.me@talwilliams.com"]
10
+ s.homepage = "http://github.com/xtalx/compass-golden-grid-system"
11
+ s.summary = %q{Compass compatible port of Golden Grid System}
12
+ s.description = %q{A folding grid for responsive design.}
13
+
14
+ s.rubyforge_project = "compass-golden-grid-system"
15
+
16
+ s.add_dependency "compass", ">= 0.10"
17
+
18
+ s.files = `git ls-files`.split("\n")
19
+
20
+ s.has_rdoc = false
21
+ s.require_paths = ["lib"]
22
+ end
@@ -0,0 +1,2 @@
1
+ require "compass"
2
+ Compass::Frameworks.register("ggs", :path => "#{File.dirname(__FILE__)}/..")
@@ -0,0 +1,69 @@
1
+ // Important Numbers
2
+ $line: 24
3
+ $column: 100% / 18
4
+ $font-size: 16
5
+ $em: $font-size * 1
6
+
7
+ // Variables that enable setting column widths, floats and outer margins
8
+ $layout: 4 !default
9
+ $page: 100% !default
10
+
11
+
12
+
13
+ =column($columns, $side:"")
14
+ width: $page / $layout * $columns
15
+ @if $side != ""
16
+ float: $side
17
+
18
+ =outer($columns)
19
+ // margin: 0 5.555555555555555%
20
+ margin: 0 $columns * $column
21
+
22
+ =wrapper
23
+ padding: 0 0.75em
24
+ -webkit-box-sizing: border-box
25
+ -moz-box-sizing: border-box
26
+ -o-box-sizing: border-box
27
+ box-sizing: border-box
28
+
29
+
30
+ //
31
+ // Zoomable baseline grid
32
+ // type size presets
33
+ //
34
+
35
+
36
+ =body
37
+ // 16px / 24px //
38
+ font-size: $font-size / 16 * 1em
39
+ line-height: #{$line / $em}em
40
+
41
+ =small
42
+ // 13px / 18px //
43
+ font-size: #{$font-size * 0.813 / $em}em
44
+ line-height: $line * 0.75 / ($font-size * 0.813) * 1em
45
+
46
+ =normal
47
+ // 16px / 24px //
48
+ font-size: #{$font-size / $em}em
49
+ line-height: #{$line / $em}em
50
+
51
+ =large
52
+ // 16px / 24px //
53
+ font-size: #{26 / $em}em
54
+ line-height: $line * 1.5 / 26 * 1em
55
+
56
+ =huge
57
+ // 42px / 48px //
58
+ font-size: #{42 / $em}em
59
+ line-height: $line * 2 / 42 * 1em
60
+
61
+ =massive
62
+ // 68px / 72px //
63
+ font-size: #{68 / $em}em
64
+ line-height: $line * 3 / 68 * 1em
65
+
66
+ =gigantic
67
+ // 110px / 120px //
68
+ font-size: #{110 / $em}em
69
+ line-height: $line * 5 / 110 * 1em
@@ -0,0 +1,104 @@
1
+ /*
2
+ **
3
+ ** Margin, padding, and border resets
4
+ ** except for form elements
5
+ **/
6
+
7
+
8
+ html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, nav, section, menu, time, mark, audio, video, canvas
9
+ margin: 0
10
+ padding: 0
11
+ border: 0
12
+
13
+
14
+ /*
15
+ **
16
+ ** Consistency fixes
17
+ ** adopted from http://necolas.github.com/normalize.css/
18
+ **/
19
+
20
+
21
+ html
22
+ height: 100%
23
+ -webkit-text-size-adjust: 100%
24
+ -ms-text-size-adjust: 100%
25
+
26
+ body
27
+ min-height: 100%
28
+ font-size: 100%
29
+
30
+ article, aside, details, figcaption, figure,
31
+ footer, header, hgroup, nav, section, audio, canvas, video
32
+ display: block
33
+
34
+ sub, sup
35
+ font-size: 75%
36
+ line-height: 0
37
+ position: relative
38
+ vertical-align: baseline
39
+
40
+ li
41
+ list-style-type: none
42
+
43
+ sup
44
+ top: -0.5em
45
+
46
+ sub
47
+ bottom: -0.25em
48
+
49
+ pre
50
+ white-space: pre
51
+ white-space: pre-wrap
52
+ word-wrap: break-word
53
+
54
+ b, strong
55
+ font-weight: bold
56
+
57
+ abbr[title]
58
+ border-bottom: 1px dotted
59
+
60
+ input, textarea, button, select
61
+ margin: 0
62
+ font-size: 100%
63
+ line-height: normal
64
+ vertical-align: baseline
65
+
66
+ button,
67
+ html input[type="button"],
68
+ input[type="reset"],
69
+ input[type="submit"]
70
+ cursor: pointer
71
+ -webkit-appearance: button
72
+
73
+ input[type="checkbox"],
74
+ input[type="radio"]
75
+ -webkit-box-sizing: border-box
76
+ -moz-box-sizing: border-box
77
+ -ms-box-sizing: border-box
78
+ -o-box-sizing: border-box
79
+ box-sizing: border-box
80
+
81
+ textarea
82
+ overflow: auto
83
+
84
+ table
85
+ border-collapse: collapse
86
+ border-spacing: 0
87
+
88
+ /*
89
+ **
90
+ ** Simple fluid media
91
+ **/
92
+
93
+
94
+ figure
95
+ position: relative
96
+
97
+ figure img, figure object, figure embed, figure video
98
+ max-width: 100%
99
+ display: block
100
+
101
+ img
102
+ border: 0
103
+ -ms-interpolation-mode: bicubic
104
+
@@ -0,0 +1,65 @@
1
+ <!doctype html>
2
+ <!--[if lt IE 9]><html class="ie"><![endif]-->
3
+ <!--[if gte IE 9]><!--><html><!--<![endif]-->
4
+
5
+ <!--
6
+ The comment jumble above is handy for targeting old IE with CSS.
7
+ http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
8
+ -->
9
+
10
+ <head>
11
+ <meta charset="utf-8"/>
12
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
13
+ <title>Golden Grid System Demo</title>
14
+
15
+ <!-- Please don't add "maximum-scale=1" here. It's bad for accessibility. -->
16
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
17
+
18
+ <!-- Feel free to split the CSS into separate files, if you like. -->
19
+ <link rel="stylesheet" href="stylesheets/GGS.css"/>
20
+
21
+ <!-- Here's Golden Gridlet, the grid overlay script. -->
22
+ <script src="javascripts/GGS.js"></script>
23
+
24
+ <!--
25
+ This script enables structural HTML5 elements in old IE.
26
+ http://code.google.com/p/html5shim/
27
+ -->
28
+ <!--[if lt IE 9]>
29
+ <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
30
+ <![endif]-->
31
+ </head>
32
+
33
+ <body lang="en">
34
+
35
+ <!-- Demo code begins -->
36
+
37
+ <header>
38
+ <div class="wrapper">
39
+ <h1>A Golden Demonstration</h1>
40
+ <h2>
41
+ Try resizing your browser or viewing this page on different devices. Use the icon in the upper right corner to see an overlay of the grid.
42
+ </h2>
43
+ </div>
44
+ </header>
45
+
46
+ <article id="twoway">
47
+ <section class="wrapper">
48
+ <h3>A two-way split</h3>
49
+ <p>
50
+ These two blocks of text will float side by side with some empty columns on the sides on large screens. On medium-sized screens the empty columns will disappear, and on small screens the blocks will be stacked vertically.
51
+ </p>
52
+ </section>
53
+ <section class="wrapper">
54
+ <h3>By the way</h3>
55
+ <p>
56
+ If you're viewing this page on an iOS device, it might zoom in wonkily when you rotate your device. This is because of <a href="http://filamentgroup.com/examples/iosScaleBug/">a Mobile Safari bug</a>.
57
+ </p>
58
+ </section>
59
+ </article>
60
+
61
+ <!-- Demo code ends -->
62
+
63
+ </body>
64
+
65
+ </html>
@@ -0,0 +1,159 @@
1
+ /*
2
+ *
3
+ * Golden Gridlet (1.01) <http://goldengridsystem.com/>
4
+ * by Joni Korpi <http://jonikorpi.com/>
5
+ * licensed under MIT <http://opensource.org/licenses/mit-license.php>
6
+ *
7
+ */
8
+
9
+ var guideColor = 'rgb(255,195,0)';
10
+ var guideInnerColor = 'rgba(255,255,255, 0.91)';
11
+ var guideOpacity = '0.618';
12
+
13
+ var switchColor = 'rgb(0,0,0)';
14
+ var switchOpacity = '0.618';
15
+
16
+ var baseFontSize = 16;
17
+ var baselineGridHeight = (24 / baseFontSize)+'em';
18
+
19
+ var eightColBreakpoint = ((720-1) / baseFontSize)+'em';
20
+ var sixteenColBreakpoint = ((1872-1) / baseFontSize)+'em';
21
+
22
+ /*
23
+ * Note that the script might not work as expected if
24
+ * the <body> element of your page has a set width and
25
+ * position: relative;, because the guides are appended
26
+ * inside <body>, but positioned in relation to <html>.
27
+ *
28
+ * Also note that the baseline grid doesn't really align
29
+ * up anymore after zooming the baseline grid in or out,
30
+ * because of rounding errors.
31
+ */
32
+
33
+
34
+ /*!
35
+ * Ender: open module JavaScript framework
36
+ * copyright Dustin Diaz & Jacob Thornton 2011 (@ded @fat)
37
+ * https://ender.no.de
38
+ * License MIT
39
+ * Build: ender -b jeesh
40
+ */
41
+ !function(a){function d(a,b){return c(a,b)}function c(a,e,f){d._select&&(typeof a=="string"||a.nodeName||a.length&&"item"in a||a==window)?(f=d._select(a,e),f.selector=a):f=isFinite(a.length)?a:[a];return b(f,c)}function b(a,b){for(var c in b)c!="noConflict"&&c!="_VERSION"&&(a[c]=b[c]);return a}b(d,{_VERSION:"0.2.4",ender:function(a,e){b(e?c:d,a)},fn:a.$&&a.$.fn||{}}),b(c,{forEach:function(a,b,c){for(c=0,l=this.length;c<l;++c)c in this&&a.call(b||this[c],this[c],c,this);return this},$:d});var e=a.$;d.noConflict=function(){a.$=e;return this},typeof module!="undefined"&&module.exports&&(module.exports=d),a.ender=a.$=d}(this),!function(a){function F(a){var b=a.relatedTarget;if(!b)return b==null;return b!=this&&b.prefix!="xul"&&!/document/.test(this.toString())&&!p(this,b)}var b=1,c={},d={},e=/over|out/,f=/[^\.]*(?=\..*)\.|.*/,g=/\..*/,h="addEventListener",i="attachEvent",j="removeEventListener",k="detachEvent",l=a.document||{},m=l.documentElement||{},n=m[h],o=n?h:i,p=function(a,b){var c=b.parentNode;while(c!=null){if(c==a)return!0;c=c.parentNode}},q=function(a,c){return a.__uid=c||a.__uid||b++},r=function(a){var b=q(a);return c[b]=c[b]||{}},s=n?function(a,b,c,d){a[d?h:j](b,c,!1)}:function(a,b,c,d,e){e&&d&&(a["_on"+e]=a["_on"+e]||0),a[d?i:k]("on"+b,c)},t=function(b,c,d){return function(e){e=D(e||((this.ownerDocument||this.document||this).parentWindow||a).event);return c.apply(b,[e].concat(d))}},u=function(a,b,c,d,e){return function(f){(d?d.call(this,f):n?!0:f&&f.propertyName=="_on"+c||!f)&&b.apply(a,[f].concat(e))}},v=function(a,b,c,e){var h=b.replace(g,""),i=r(a),j=i[h]||(i[h]={}),k=q(c,b.replace(f,""));if(j[k])return a;var l=G[h];l&&(c=l.condition?u(a,c,h,l.condition):c,h=l.base||h);var m=E[h];c=m?t(a,c,e):u(a,c,h,!1,e),m=n||m;if(h=="unload"){var p=c;c=function(){w(a,h,c)&&p()}}a[o]&&s(a,m?h:"propertychange",c,!0,!m&&h),j[k]=c,c.__uid=k;return h=="unload"?a:d[q(a)]=a},w=function(a,b,c){var d,e,h,i,j=r(a),k=b.replace(g,"");if(!j||!j[k])return a;e=b.replace(f,""),h=e?e.split("."):[c.__uid];for(i=h.length;i--;){d=h[i],c=j[k][d],delete j[k][d];if(a[o]){k=G[k]?G[k].base:k;var l=n||E[k];s(a,l?k:"propertychange",c,!1,!l&&k)}}return a},x=function(a,b,c){return function(d){var e=typeof a=="string"?c(a,this):a;for(var f=d.target;f&&f!=this;f=f.parentNode)for(var g=e.length;g--;)if(e[g]==f)return b.apply(f,arguments)}},y=function(a,b,c,d,e){if(typeof b=="object"&&!c)for(var f in b)b.hasOwnProperty(f)&&y(a,f,b[f]);else{var g=typeof c=="string",h=(g?c:b).split(" ");c=g?x(b,d,e):c;for(var i=h.length;i--;)v(a,h[i],c,Array.prototype.slice.call(arguments,g?4:3))}return a},z=function(a,b,c){var d,e,h,i,j=typeof b=="string",k=j&&b.replace(f,""),l=w,m=r(a);if(j&&/\s/.test(b)){b=b.split(" "),i=b.length-1;while(z(a,b[i])&&i--);return a}h=j?b.replace(g,""):b;if(!m||j&&!m[h])return a;if(typeof c=="function")l(a,h,c);else if(k)l(a,b);else{l=h?l:z,e=j&&h,h=h?c||m[h]||h:m;for(d in h)h.hasOwnProperty(d)&&l(a,e||d,h[d])}return a},A=function(a,b,c){var d,e,h,i=b.split(" ");for(h=i.length;h--;){b=i[h].replace(g,"");var j=E[b],k=i[h].replace(f,""),l=r(a)[b];if(k){k=k.split(".");for(e=k.length;e--;)l[k[e]]&&l[k[e]].apply(a,c)}else if(!c&&a[o])B(j,b,a);else for(e in l)l.hasOwnProperty(e)&&l[e].apply(a,c)}return a},B=n?function(b,c,d){evt=document.createEvent(b?"HTMLEvents":"UIEvents"),evt[b?"initEvent":"initUIEvent"](c,!0,!0,a,1),d.dispatchEvent(evt)}:function(a,b,c){a?c.fireEvent("on"+b,document.createEventObject()):c["_on"+b]++},C=function(a,b,c){var d=r(b),e,f;e=c?d[c]:d;for(f in e)e.hasOwnProperty(f)&&(c?y:C)(a,c||b,c?e[f]:f);return a},D=function(a){var b={};if(!a)return b;var c=a.type,d=a.target||a.srcElement;b.preventDefault=D.preventDefault(a),b.stopPropagation=D.stopPropagation(a),b.target=d&&d.nodeType==3?d.parentNode:d;if(~c.indexOf("key"))b.keyCode=a.which||a.keyCode;else if(/click|mouse|menu/i.test(c)){b.rightClick=a.which==3||a.button==2,b.pos={x:0,y:0};if(a.pageX||a.pageY)b.clientX=a.pageX,b.clientY=a.pageY;else if(a.clientX||a.clientY)b.clientX=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,b.clientY=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;e.test(c)&&(b.relatedTarget=a.relatedTarget||a[(c=="mouseover"?"from":"to")+"Element"])}for(var f in a)f in b||(b[f]=a[f]);return b};D.preventDefault=function(a){return function(){a.preventDefault?a.preventDefault():a.returnValue=!1}},D.stopPropagation=function(a){return function(){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}};var E={click:1,dblclick:1,mouseup:1,mousedown:1,contextmenu:1,mousewheel:1,DOMMouseScroll:1,mouseover:1,mouseout:1,mousemove:1,selectstart:1,selectend:1,keydown:1,keypress:1,keyup:1,orientationchange:1,touchstart:1,touchmove:1,touchend:1,touchcancel:1,gesturestart:1,gesturechange:1,gestureend:1,focus:1,blur:1,change:1,reset:1,select:1,submit:1,load:1,unload:1,beforeunload:1,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1},G={mouseenter:{base:"mouseover",condition:F},mouseleave:{base:"mouseout",condition:F},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}},H={add:y,remove:z,clone:C,fire:A},I=function(a){var b=z(a).__uid;b&&(delete d[b],delete c[b])};a[i]&&y(a,"unload",function(){for(var b in d)d.hasOwnProperty(b)&&I(d[b]);a.CollectGarbage&&CollectGarbage()});var J=a.bean;H.noConflict=function(){a.bean=J;return this},typeof module!="undefined"&&module.exports?module.exports=H:a.bean=H}(this),!function(a){var b=bean.noConflict(),c=function(c,d,e){var f=d?[d]:[];return function(){for(var e,g=0,h=this.length;g<h;g++)e=[this[g]].concat(f,Array.prototype.slice.call(arguments,0)),e.length==4&&e.push(a),!arguments.length&&c=="add"&&d&&(c="fire"),b[c].apply(this,e);return this}},d=c("add"),e=c("remove"),f=c("fire"),g={on:d,addListener:d,bind:d,listen:d,delegate:d,unbind:e,unlisten:e,removeListener:e,undelegate:e,emit:f,trigger:f,cloneEvents:c("clone"),hover:function(a,c,d){for(d=this.length;d--;)b.add.call(this,this[d],"mouseenter",a),b.add.call(this,this[d],"mouseleave",c);return this}},h,i=["blur","change","click","dblclick","error","focus","focusin","focusout","keydown","keypress","keyup","load","mousedown","mouseenter","mouseleave","mouseout","mouseover","mouseup","mousemove","resize","scroll","select","submit","unload"];for(h=i.length;h--;)g[i[h]]=c("add",i[h]);a.ender(g,!0)}(ender),!function(a,b){function J(a,b){return new E(a,b)}function I(){return{x:b.pageXOffset||d.scrollLeft,y:b.pageYOffset||d.scrollTop}}function H(a){return a===b||/^(?:body|html)$/i.test(a.tagName)}function G(a,c,d){var e=this[0];if(a==null&&c==null)return(H(e)?I():{x:e.scrollLeft,y:e.scrollTop})[d];H(e)?b.scrollTo(a,c):(a!=null&&(e.scrollLeft=a),c!=null&&(e.scrollTop=c));return this}function F(a){return typeof a=="string"?J.create(a):z(a)?[a]:a}function E(a){this.length=0;if(a){a=typeof a!="string"&&!a.nodeType&&typeof a.length!="undefined"?a:[a],this.length=a.length;for(var b=0;b<a.length;b++)this[b]=a[b]}}function D(a,b,c){var d=J(a),e=d.css("position"),f=d.offset(),g="relative",h=e==g,i=[parseInt(d.css("left"),10),parseInt(d.css("top"),10)];e=="static"&&(d.css("position",g),e=g),isNaN(i[0])&&(i[0]=h?0:a.offsetLeft),isNaN(i[1])&&(i[1]=h?0:a.offsetTop),b!==null&&(a.style.left=b-f.left+i[0]+"px"),c!==null&&(a.style.top=c-f.top+i[1]+"px")}function C(a,b,c){var d=0,g=b||this,h=[],i=f&&typeof a=="string"&&a.charAt(0)!="<"?function(b){return(b=f(a))&&(b.selected=1)&&b}():a;w(F(i),function(a){w(g,function(b){var f=!b[e]||b[e]&&!b[e][e]?function(){var a=b.cloneNode(!0);g.$&&g.cloneEvents&&g.$(a).cloneEvents(b);return a}():b;c(a,f),h[d]=f,d++})},this),w(h,function(a,b){g[b]=a}),g.length=d;return g}function A(a,b,c){for(var d=0,e=a.length;d<e;++d)if(b.call(c,a[d],d,a))return!0;return!1}function z(a){return a&&a.nodeName&&a.nodeType==1}function y(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}function w(a,b,c){for(var d=0,e=a.length;d<e;d++)b.call(c||a[d],a[d],d,a);return a}function v(a){return new RegExp("(^|\\s+)"+a+"(\\s+|$)")}var c=a.document,d=c.documentElement,e="parentNode",f=null,g="getElementsByTagName",h=/^checked|value|selected$/,i=/select|fieldset|table|tbody|tfoot|td|tr|colgroup/i,j="table",k={thead:j,tbody:j,tfoot:j,tr:"tbody",th:"tr",td:"tr",fieldset:"form",option:"select"},l=/^checked|selected$/,m=/msie/i.test(navigator.userAgent),n=[],o=0,p=/^-?[\d\.]+$/,q="px",r="setAttribute",s="getAttribute",t=/(^\s*|\s*$)/g,u={lineHeight:1,zoom:1,zIndex:1,opacity:1},x=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(t,"")},B=c.defaultView&&c.defaultView.getComputedStyle?function(a,b){var d=null;b=="float"&&(b="cssFloat");var e=c.defaultView.getComputedStyle(a,"");e&&(d=e[y(b)]);return a.style[b]||d}:m&&d.currentStyle?function(a,b){b=y(b),b=b=="float"?"styleFloat":b;if(b=="opacity"){var c=100;try{c=a.filters["DXImageTransform.Microsoft.Alpha"].opacity}catch(d){try{c=a.filters("alpha").opacity}catch(e){}}return c/100}var f=a.currentStyle?a.currentStyle[b]:null;return a.style[b]||f}:function(a,b){return a.style[y(b)]};E.prototype={each:function(a,b){return w(this,a,b)},map:function(a,b){var c=[],d,e;for(e=0;e<this.length;e++)d=a.call(this,this[e]),b?b(d)&&c.push(d):c.push(d);return c},first:function(){return J(this[0])},last:function(){return J(this[this.length-1])},html:function(a,b){function f(b){while(b.firstChild)b.removeChild(b.firstChild);w(F(a),function(a){b.appendChild(a)})}var c=b?d.textContent==null?"innerText":"textContent":"innerHTML",e;return typeof a!="undefined"?this.each(function(b){(e=b.tagName.match(i))?f(b,e[0]):b[c]=a}):this[0]?this[0][c]:""},text:function(a){return this.html(a,1)},addClass:function(a){return this.each(function(b){this.hasClass(b,a)||(b.className=x(b.className+" "+a))},this)},removeClass:function(a){return this.each(function(b){this.hasClass(b,a)&&(b.className=x(b.className.replace(v(a)," ")))},this)},hasClass:function(a,b){return typeof b=="undefined"?A(this,function(b){return v(a).test(b.className)}):v(b).test(a.className)},toggleClass:function(a,b){if(typeof b!="undefined"&&!b)return this;return this.each(function(b){this.hasClass(b,a)?b.className=x(b.className.replace(v(a)," ")):b.className=x(b.className+" "+a)},this)},show:function(a){return this.each(function(b){b.style.display=a||""})},hide:function(a){return this.each(function(a){a.style.display="none"})},append:function(a){return this.each(function(b){w(F(a),function(a){b.appendChild(a)})})},prepend:function(a){return this.each(function(b){var c=b.firstChild;w(F(a),function(a){b.insertBefore(a,c)})})},appendTo:function(a,b){return C.call(this,a,b,function(a,b){a.appendChild(b)})},prependTo:function(a,b){return C.call(this,a,b,function(a,b){a.insertBefore(b,a.firstChild)})},next:function(){return this.related("nextSibling")},previous:function(){return this.related("previousSibling")},related:function(a){return this.map(function(b){b=b[a];while(b&&b.nodeType!==1)b=b[a];return b||0},function(a){return a})},before:function(a){return this.each(function(b){w(J.create(a),function(a){b[e].insertBefore(a,b)})})},after:function(a){return this.each(function(b){w(J.create(a),function(a){b[e].insertBefore(a,b.nextSibling)})})},insertBefore:function(a,b){return C.call(this,a,b,function(a,b){a[e].insertBefore(b,a)})},insertAfter:function(a,b){return C.call(this,a,b,function(a,b){var c=a.nextSibling;c?a[e].insertBefore(b,c):a[e].appendChild(b)})},css:function(a,d,e){if(d===undefined&&typeof a=="string"){d=this[0];if(!d)return null;if(d==c||d==b){e=d==c?J.doc():J.viewport();return a=="width"?e.width:a=="height"?e.height:""}return B(d,a)}var f=a;typeof a=="string"&&(f={},f[a]=d),m&&f.opacity&&(f.filter="alpha(opacity="+f.opacity*100+")",f.zoom=a.zoom||1,delete f.opacity);if(d=f["float"])m?f.styleFloat=d:f.cssFloat=d,delete f["float"];var g=function(a,b,c){for(var d in f)f.hasOwnProperty(d)&&(c=f[d],(b=y(d))&&p.test(c)&&!(b in u)&&(c+=q),a.style[b]=c)};return this.each(g)},offset:function(a,b){if(a||b)return this.each(function(c){D(c,a,b)});var c=this[0],d=c.offsetWidth,e=c.offsetHeight,f=c.offsetTop,g=c.offsetLeft;while(c=c.offsetParent)f=f+c.offsetTop,g=g+c.offsetLeft;return{top:f,left:g,height:e,width:d}},attr:function(a,b){var c=this[0];return typeof b=="undefined"?h.test(a)?l.test(a)&&typeof c[a]=="string"?!0:c[a]:c[s](a):this.each(function(c){a=="value"?c.value=b:c[r](a,b)})},val:function(a){return typeof a=="string"?this.attr("value",a):this[0].value},removeAttr:function(a){return this.each(function(b){b.removeAttribute(a)})},data:function(a,b){var c=this[0];if(typeof b=="undefined"){c[s]("data-node-uid")||c[r]("data-node-uid",++o);var d=c[s]("data-node-uid");n[d]||(n[d]={});return n[d][a]}return this.each(function(c){c[s]("data-node-uid")||c[r]("data-node-uid",++o);var d=c[s]("data-node-uid"),e={};e[a]=b,n[d]=e})},remove:function(){return this.each(function(a){a[e]&&a[e].removeChild(a)})},empty:function(){return this.each(function(a){while(a.firstChild)a.removeChild(a.firstChild)})},detach:function(){return this.map(function(a){return a[e].removeChild(a)})},scrollTop:function(a){return G.call(this,null,a,"y")},scrollLeft:function(a){return G.call(this,a,null,"x")}},J.setQueryEngine=function(a){f=a,delete J.setQueryEngine},J.aug=function(a,b){for(var c in a)a.hasOwnProperty(c)&&((b||E.prototype)[c]=a[c])},J.create=function(a){return typeof a=="string"?function(){var b=/^<([^\s>]+)/.exec(a),d=c.createElement(b&&k[b[1].toLowerCase()]||"div"),e=[];d.innerHTML=a;var f=d.childNodes;d=d.firstChild,e.push(d);while(d=d.nextSibling)d.nodeType==1&&e.push(d);return e}():z(a)?[a.cloneNode(!0)]:[]},J.doc=function(){var a=d.scrollWidth,b=d.scrollHeight,c=this.viewport();return{width:Math.max(a,c.width),height:Math.max(b,c.height)}},J.firstChild=function(a){for(var b=a.childNodes,c=0,d=b&&b.length||0,e;c<d;c++)b[c].nodeType===1&&(e=b[d=c]);return e},J.viewport=function(){var a=self.innerHeight,b=self.innerWidth;m&&(a=d.clientHeight,b=d.clientWidth);return{width:b,height:a}},J.isAncestor="compareDocumentPosition"in d?function(a,b){return(a.compareDocumentPosition(b)&16)==16}:"contains"in d?function(a,b){return a!==b&&a.contains(b)}:function(a,b){while(b=b[e])if(b===a)return!0;return!1};var K=a.bonzo;J.noConflict=function(){a.bonzo=K;return this},a.bonzo=J}(this,window),!function(a){function d(a){var b=[],c,d;label:for(c=0;c<a.length;c++){for(d=0;d<b.length;d++)if(b[d]==a[c])continue label;b[b.length]=a[c]}return b}function c(a,b){for(var c=0;c<a.length;c++)if(a[c]===b)return c;return-1}var b=bonzo;b.setQueryEngine(a),a.ender(b),a.ender(b(),!0),a.ender({create:function(c){return a(b.create(c))}}),a.id=function(b){return a([document.getElementById(b)])},a.ender({parents:function(b,e){var f=a(b),g,h,i,j=[];for(g=0,h=this.length;g<h;g++){i=this[g];while(i=i.parentNode)if(c(f,i)!==-1){j.push(i);if(e)break}}return a(d(j))},closest:function(a){return this.parents(a,!0)},first:function(){return a(this[0])},last:function(){return a(this[this.length-1])},next:function(){return a(b(this).next())},previous:function(){return a(b(this).previous())},appendTo:function(a){return b(this.selector).appendTo(a,this)},prependTo:function(a){return b(this.selector).prependTo(a,this)},insertAfter:function(a){return b(this.selector).insertAfter(a,this)},insertBefore:function(a){return b(this.selector).insertBefore(a,this)},siblings:function(){var b,c,d,e=[];for(b=0,c=this.length;b<c;b++){d=this[b];while(d=d.previousSibling)d.nodeType==1&&e.push(d);d=this[b];while(d=d.nextSibling)d.nodeType==1&&e.push(d)}return a(e)},children:function(){var c,e=[];for(i=0,l=this.length;i<l;i++){if(!(c=b.firstChild(this[i])))continue;e.push(c);while(c=c.nextSibling)c.nodeType==1&&e.push(c)}return a(d(e))},height:function(a){return a?this.css("height",a):parseInt(this.css("height"),10)},width:function(a){return a?this.css("width",a):parseInt(this.css("width"),10)}},!0)}(ender||$),!function(a,b){function l(a){k=1;while(a=c.shift())a()}var c=[],d,e=!1,f=b.documentElement,g=f.doScroll,h="DOMContentLoaded",i="addEventListener",j="onreadystatechange",k=/^loade|c/.test(b.readyState);b[i]&&b[i](h,function a(){b.removeEventListener(h,a,e),l()},e),g&&b.attachEvent(j,d=function a(){/^c/.test(b.readyState)&&(b.detachEvent(j,a),l())}),a.domReady=g?function(a){self!=top?k?a():c.push(a):function(){try{f.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){k?a():c.push(a)}}(this,document),!function(a){a.ender({domReady:domReady}),a.ender({ready:function(a){domReady(a);return this}},!0)}(ender),!function(a,b){function X(a,c){var d=typeof c=="string"?X(c)[0]:c||b;if(!d||!a)return[];if(h=U(a,c,X))return h;return Z(a,d)}function W(a){var b=[],c,d;label:for(c=0;c<a.length;c++){for(d=0;d<b.length;d++)if(b[d]==a[c])continue label;b[b.length]=a[c]}return b}function V(a){return a&&a.nodeType&&(a.nodeType==1||a.nodeType==9)}function U(a,c,d){var e=typeof c=="string"?d(c)[0]:c||b;if(a===window||V(a))return!c||a!==window&&V(e)&&Y(a,e)?[a]:[];if(a&&typeof a=="object"&&isFinite(a.length))return N(a);if(h=a.match(w))return(m=b.getElementById(h[1]))?[m]:[];if(h=a.match(y))return N(e.getElementsByTagName(h[1]));return!1}function T(a){var c=[],d=[],e,f=0,g,h,i,j,k,l,m,n,o,q,r=M.g(a)||M.s(a,a.split(C));r=r.slice(0);if(!r.length)return c;k=r.pop(),n=r.length&&(i=r[r.length-2].match(w))?b.getElementById(i[1]):b;if(!n)return c;o=P(k),m=/^[+~]$/.test(r[r.length-1])?function(a){a=[];while(n=n.nextSibling)n.nodeType==1&&(o[1]?o[1]==n.tagName.toLowerCase():1)&&a.push(n);return a}():n.getElementsByTagName(o[1]||"*");for(e=0,h=m.length;e<h;e++)if(q=Q.apply(m[e],o))c[f++]=q;if(!r.length)return c;for(f=0,h=c.length,g=0;f<h;f++){j=c[f];for(e=r.length-2;e>=0;e=e-2)while(j=H[r[e+1]](j,c[f]))if(p=Q.apply(j,P(r[e])))break;p&&(d[g++]=c[f])}return d}function S(a,b,c){switch(a){case"=":return b==c;case"^=":return b.match(L.g("^="+c)||L.s("^="+c,new RegExp("^"+R(c))));case"$=":return b.match(L.g("$="+c)||L.s("$="+c,new RegExp(R(c)+"$")));case"*=":return b.match(L.g(c)||L.s(c,new RegExp(R(c))));case"~=":return b.match(L.g("~="+c)||L.s("~="+c,new RegExp("(?:^|\\s+)"+R(c)+"(?:\\s+|$)")));case"|=":return b.match(L.g("|="+c)||L.s("|="+c,new RegExp("^"+R(c)+"(-|$)")))}return 0}function R(a){return K.g(a)||K.s(a,a.replace(D,"\\$1"))}function Q(a,b,c,e,f,g,h){var j,k,l;if(b&&this.tagName.toLowerCase()!==b)return!1;if(c&&(j=c.match(u))&&j[1]!==this.id)return!1;if(c&&(q=c.match(v)))for(d=q.length;d--;){k=q[d].slice(1);if(!(J.g(k)||J.s(k,new RegExp("(^|\\s+)"+k+"(\\s+|$)"))).test(this.className))return!1}if(e&&!h){i=this.attributes;for(l in i)if(Object.prototype.hasOwnProperty.call(i,l)&&(i[l].name||l)==f)return this}if(e&&!S(g,this.getAttribute(f)||"",h))return!1;return this}function P(a){return a.match(G)}function O(a){while(a=a.previousSibling)if(a.nodeType==1)break;return a}function N(a){k=[];for(d=0,o=a.length;d<o;d++)k[d]=a[d];return k}function I(){this.c={}}var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=/#([\w\-]+)/,v=/\.[\w\-]+/g,w=/^#([\w\-]+$)/,x=/^\.([\w\-]+)$/,y=/^([\w\-]+)$/,z=/^([\w]+)?\.([\w\-]+)$/,A=b.documentElement,B=/\s*([\s\+\~>])\s*/g,C=/([\s\>\+\~])(?![\s\w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^'"]*\])/,D=/([.*+?\^=!:${}()|\[\]\/\\])/g,E=/^([a-z0-9]+)?(?:([\.\#]+[\w\-\.#]+)?)/,F=/\[([\w\-]+)(?:([\|\^\$\*\~]?\=)['"]?([ \w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^]+)["']?)?\]/,G=new RegExp(E.source+"("+F.source+")?"),H={" ":function(a){return a&&a!==A&&a.parentNode},">":function(a,b){return a&&a.parentNode==b.parentNode&&a.parentNode},"~":function(a){return a&&a.previousSibling},"+":function(a,b,c,d){if(!a)return!1;c=O(a),d=O(b);return c&&d&&c==d&&c}};I.prototype={g:function(a){return this.c[a]||undefined},s:function(a,b){this.c[a]=b;return b}};var J=new I,K=new I,L=new I,M=new I,Y="compareDocumentPosition"in A?function(a,b){return(b.compareDocumentPosition(a)&16)==16}:"contains"in A?function(a,c){c=c==b||c==window?A:c;return c!==a&&c.contains(a)}:function(a,b){while(a=a.parentNode)if(a===b)return 1;return 0},Z=b.querySelector&&b.querySelectorAll?function(a,c){if(b.getElementsByClassName&&(h=a.match(x)))return N(c.getElementsByClassName(h[1]));return N(c.querySelectorAll(a))}:function(a,c){a=a.replace(B,"$1");var d=[],f,i=[],j;if(h=a.match(z)){s=c.getElementsByTagName(h[1]||"*"),k=J.g(h[2])||J.s(h[2],new RegExp("(^|\\s+)"+h[2]+"(\\s+|$)"));for(j=0,g=s.length,e=0;j<g;j++)k.test(s[j].className)&&(d[e++]=s[j]);return d}for(j=0,s=a.split(","),g=s.length;j<g;j++)i[j]=T(s[j]);for(j=0,g=i.length;j<g&&(f=i[j]);j++){var l=f;if(c!==b){l=[];for(e=0,h=f.length;e<h&&(element=f[e]);e++)Y(element,c)&&l.push(element)}d=d.concat(l)}return W(d)};X.uniq=W;var $=a.qwery;X.noConflict=function(){a.qwery=$;return this},a.qwery=X}(this,document),!function(a){function e(b,c){var e=/^<([^\s>]+)/.exec(b)[1],f=(c||a).createElement(d[e]||"div"),g=[];f.innerHTML=b;var h=f.childNodes;f=f.firstChild,g.push(f);while(f=f.nextSibling)f.nodeType==1&&g.push(f);return g}var b=qwery.noConflict(),c="table",d={thead:c,tbody:c,tfoot:c,tr:"tbody",th:"tr",td:"tr",fieldset:"form",option:"select"};$._select=function(a,c){return/^\s*</.test(a)?e(a,c):b(a,c)},$.ender({find:function(a){var c=[],d,e,f,g,h;for(d=0,e=this.length;d<e;d++){h=b(a,this[d]);for(f=0,g=h.length;f<g;f++)c.push(h[f])}return $(b.uniq(c))},and:function(a){var b=$(a);for(var c=this.length,d=0,e=this.length+b.length;c<e;c++,d++)this[c]=b[d];return this}},!0)}(document);
42
+
43
+ var ender = $.noConflict();
44
+
45
+ function setHeights() {
46
+ if (!ender('body').hasClass('ggs-hidden')) {
47
+ /* Which one is taller, <body> or <html>? */
48
+ if (ender('body').offset().height > ender('html').offset().height) {
49
+ var largerHeight = ender('body').offset().height;
50
+ }
51
+ else {
52
+ var largerHeight = ender('html').offset().height;
53
+ }
54
+
55
+ /* Give guides the new height */
56
+ ender('.ggs-guide').each(function() {
57
+ ender(this).css('height', largerHeight);
58
+ });
59
+
60
+ /* Calculate the amount of lines needed and append them */
61
+ var lines = Math.floor(largerHeight/24);
62
+ ender('#ggs-baseline-container').empty();
63
+ for (i=0; i<=lines; i++) {
64
+ ender('#ggs-baseline-container').append('<div class="ggs-line"></div>');
65
+ }
66
+
67
+ /* Set the baseline container to the same height as the guides, so there's no overflow */
68
+ ender('#ggs-baseline-container').css('height', largerHeight);
69
+ }
70
+ }
71
+
72
+ ender.domReady(function () {
73
+
74
+ /* Add control classes and switch element */
75
+ ender('body').addClass('ggs-hidden ggs-animated').append('<div id="ggs-switch"><div class="ggs-switchBar"></div><div class="ggs-switchBar"></div><div class="ggs-switchBar"></div></div>');
76
+
77
+ /* Create CSS */
78
+ var styles = '\
79
+ html{height:100%;position:relative;}\
80
+ #ggs-switch{position:fixed;top:0;right:0;z-index:9500; cursor:pointer; width: 24px; padding: 18px 18px 14px; opacity:'+switchOpacity+'; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); -webkit-transition: all 0.145s ease-out; -moz-transition: all 0.145s ease-out; -ms-transition: all 0.145s ease-out; transition: all 0.145s ease-out;}\
81
+ .ggs-switchBar {background: '+switchColor+'; height: 4px; margin-bottom: 4px;}\
82
+ .ggs-animated #ggs-switch {-webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); transform: rotate(0deg);}\
83
+ .ggs-guide{position:absolute;top:0;z-index:9000;height:100%;margin-left:-0.75em;border:solid '+guideColor+';border-width:0 0.75em;background:'+guideColor+';opacity:'+guideOpacity+'; -webkit-transition: all 0.235s ease-out; -moz-transition: all 0.235s ease-out; -ms-transition: all 0.235s ease-out; transition: all 0.235s ease-out;}\
84
+ .ggs-animated .ggs-guide {-webkit-transform: scale(0, 1); -moz-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); opacity: 0;}\
85
+ .ggs-animated #ggs-baseline-container {opacity: 0;}\
86
+ .ggs-hidden .ggs-guide, .ggs-hidden #ggs-baseline-container {display: none;}\
87
+ .ggs-0{left:0;}\
88
+ .ggs-1{left:11.11111111111111%;}\
89
+ .ggs-2{left:16.666666666666664%;}\
90
+ .ggs-3{left:22.22222222222222%;}\
91
+ .ggs-4{left:27.77777777777778%;}\
92
+ .ggs-5{left:33.33333333333333%;}\
93
+ .ggs-6{left:38.888888888888886%;}\
94
+ .ggs-7{left:44.44444444444444%;}\
95
+ .ggs-8{left:50%;}\
96
+ .ggs-9{left:55.55555555555556%;}\
97
+ .ggs-10{left:61.11111111111111%;}\
98
+ .ggs-11{left:66.66666666666666%;}\
99
+ .ggs-12{left:72.22222222222221%;}\
100
+ .ggs-13{left:77.77777777777777%;}\
101
+ .ggs-14{left:83.33333333333333%;}\
102
+ .ggs-15{left:88.88888888888889%;}\
103
+ .ggs-16{right:0;}\
104
+ .ggs-0,.ggs-16{width:5.555555555555555%;padding-right:0.75em;border:0;margin:0;}\
105
+ .ggs-guide div{background:'+guideInnerColor+';width:2px;height:100%;position:absolute;left:-1px;top:0;}\
106
+ .ggs-0 div{left:auto;right:0.75em;}\
107
+ .ggs-16 div{left:0.75em;}\
108
+ #ggs-baseline-container {opacity: '+guideOpacity+'; position: absolute; left:0; top:0; z-index: 8000; width: 100%; height: 100%; -webkit-transition: opacity 0.235s ease-out; -moz-transition: opacity 0.235s ease-out; -ms-transition: opacity 0.235s ease-out; transition: opacity 0.235s ease-out; overflow-y: hidden;}\
109
+ .ggs-line {border-top: 1px dotted '+guideColor+'; height: '+baselineGridHeight+'; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box;}\
110
+ @media screen and (max-width: '+(eightColBreakpoint)+'){.ggs-2,.ggs-6,.ggs-10,.ggs-14{display:none;}}\
111
+ @media screen and (max-width: '+(sixteenColBreakpoint)+'){.ggs-1,.ggs-3,.ggs-5,.ggs-7,.ggs-9,.ggs-11,.ggs-13,.ggs-15{display:none;}}\
112
+ ';
113
+
114
+ /* Create guides */
115
+ for (i=0; i<=16; i++) {
116
+ ender('body').append(ender('<div class="ggs-guide ggs-'+i+'"><div></div></div>'));
117
+ };
118
+ ender('body').append(ender('<div id="ggs-baseline-container"></div>'));
119
+
120
+ /* Append CSS */
121
+ (function(d,u) {
122
+ if(d.createStyleSheet) {
123
+ d.createStyleSheet( u );
124
+ }
125
+ else {
126
+ var css=d.createElement('style');
127
+ css.setAttribute("type","text/css");
128
+ css.appendChild(document.createTextNode(u));
129
+ d.getElementsByTagName("head")[0].appendChild(css);
130
+ }
131
+ }(document, styles))
132
+
133
+ /* Resize guides when window size changes */
134
+ ender(window).on('resize', setHeights);
135
+
136
+ /* Add listeners for switch element */
137
+ ender('#ggs-switch').click(function(){
138
+ if (ender('body').hasClass('ggs-hidden')) {
139
+ ender('body').removeClass('ggs-hidden');
140
+ setHeights();
141
+ setTimeout(
142
+ function () {
143
+ ender('body').removeClass('ggs-animated');
144
+ },
145
+ 20
146
+ );
147
+ }
148
+ else {
149
+ ender('body').addClass('ggs-animated');
150
+ setTimeout(
151
+ function () {
152
+ ender('body').addClass('ggs-hidden');
153
+ },
154
+ 300
155
+ );
156
+ }
157
+ });
158
+
159
+ });
@@ -0,0 +1,19 @@
1
+ /*
2
+ **
3
+ ** Golden Grid System (1.0) SystemSystemSystemSystem<http://goldengridsystem.com/>
4
+ ** by Joni Korpi <http://jonikorpi.com/>
5
+ ** licensed under MIT <http://opensource.org/licenses/mit-license.php>
6
+ */
7
+
8
+ // Golden Grid System Compass Plugin
9
+ // by Tal Williams
10
+ // http://github.com/xtalx/compass-golden-grid-system
11
+
12
+ @import ggs/normalize
13
+ @import ggs/mixins
14
+
15
+ @import partials/type
16
+ @import partials/global
17
+ @import partials/mobile
18
+ @import partials/tablet
19
+ @import partials/large
@@ -0,0 +1,20 @@
1
+ discover :stylesheet
2
+ discover :javascripts
3
+
4
+ html "GGS.html"
5
+
6
+ javascript "GGS.js"
7
+
8
+ description "Golden Grid System"
9
+
10
+ help %Q{
11
+ Please see the Golden Grid System website for documentation:
12
+
13
+ http://goldengridsystem.com/
14
+ }
15
+
16
+ welcome_message %Q{
17
+ Please see the Golden Grid System website for documentation:
18
+
19
+ http://goldengridsystem.com/
20
+ }
@@ -0,0 +1 @@
1
+ // Global style definitions
@@ -0,0 +1,39 @@
1
+ $layout: 16
2
+
3
+
4
+ /*
5
+ **
6
+ ** Sixteen-column grid active
7
+ ** ----------------------------------------------------------------------------------------------------------------------
8
+ ** Margin | # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Margin
9
+ ** 5.55555% | % 6.25 12.5 18.75 25.0 31.25 37.5 43.75 50.0 56.25 62.5 68.75 75.0 81.25 87.5 93.75 100 | 5.55555%
10
+ **/
11
+
12
+
13
+ /* @media screen and (min-width: 1872px) */
14
+ @media screen and (min-width: 117em)
15
+
16
+
17
+ header, #twoway
18
+ +outer(1)
19
+
20
+ header .wrapper
21
+ +column(6)
22
+ margin-left: 25%
23
+
24
+ #twoway .wrapper
25
+ +column(4, left)
26
+
27
+ #twoway .wrapper:first-child
28
+ margin-left: 25%
29
+
30
+
31
+ /* @media screen and (min-width: 2080px) */
32
+ @media screen and (min-width: 130em)
33
+
34
+
35
+ body
36
+ /* Zoom baseline grid to 18/16 = 1.125 */
37
+ font-size: #{($font-size + 2) / $em}em
38
+ max-width: 2560 / $em em
39
+
@@ -0,0 +1,57 @@
1
+ $layout: 4
2
+
3
+
4
+ /*
5
+ **
6
+ ** Four-column grid active
7
+ ** ----------------------------------------
8
+ ** Margin | # 1 2 3 4 | Margin
9
+ ** 5.55555% | % 25 50 75 100 | 5.55555%
10
+ **/
11
+
12
+
13
+ header,
14
+ #twoway
15
+ +outer(1)
16
+
17
+ h1, h2
18
+ margin: 24 / 26 * 1em 0 36 / 26 * 1em
19
+
20
+ h2
21
+ font-weight: normal
22
+
23
+ h3
24
+ margin: #{24 / $em}em 0 #{24 / $em}em
25
+
26
+ .wrapper
27
+ +wrapper
28
+
29
+
30
+ /*
31
+ **
32
+ ** Fixes for IE6-8
33
+ ** http://jonikorpi.com/leaving-old-IE-behind/
34
+ **/
35
+
36
+
37
+ .ie body
38
+ width: #{640 / $em}em
39
+ margin: 0 auto
40
+ font-size: #{($font-size + 1) / $em}em
41
+
42
+ .ie h1
43
+ +huge
44
+ margin: 48 / 42 * 1em 0 24 / 42 * 1em
45
+
46
+
47
+ /* @media screen and (min-width: 640px)
48
+ @media screen and (min-width: 40em)
49
+
50
+
51
+ body
52
+ /* Zoom baseline grid to 17/16 = 1.0625
53
+ font-size: #{($font-size + 1) / $em}em
54
+
55
+ h1
56
+ +huge
57
+ margin: 48 / 42 * 1em 0 24 / 42 * 1em
@@ -0,0 +1,74 @@
1
+ $layout: 8
2
+
3
+
4
+ /*
5
+ **
6
+ ** Eight-column grid active
7
+ ** ----------------------------------------------------------------------
8
+ ** Margin | # 1 2 3 4 5 6 7 8 | Margin
9
+ ** 5.55555% | % 12.5 25.0 37.5 50.0 62.5 75.0 87.5 100 | 5.55555%
10
+ **/
11
+
12
+
13
+ /* @media screen and (min-width: 720px)
14
+ @media screen and (min-width: 45em)
15
+
16
+
17
+ body
18
+ /* Reset baseline grid to 16/16 = 1
19
+ font-size: #{$font-size / $em}em
20
+
21
+ #twoway .wrapper
22
+ +column(4, left)
23
+ +wrapper
24
+
25
+
26
+ /* @media screen and (min-width: 888px)
27
+ @media screen and (min-width: 55.5em)
28
+
29
+
30
+ body
31
+ /* Zoom baseline grid to 17/16 = 1.0625
32
+ font-size: #{($font-size + 1) / $em}em
33
+
34
+
35
+ /* @media screen and (min-width: 984px)
36
+ @media screen and (min-width: 61.5em)
37
+
38
+
39
+ body
40
+ /* Reset baseline grid to 16/16 = 1.0
41
+ font-size: #{$font-size / $em}em
42
+
43
+ header, #twoway
44
+ +outer(3)
45
+
46
+
47
+ /* @media screen and (min-width: 1200px)
48
+ @media screen and (min-width: 75em)
49
+
50
+
51
+ body
52
+ /* Zoom baseline grid to 17/16 = 1.0625
53
+ font-size: #{($font-size + 1) / $em}em
54
+
55
+
56
+ /* @media screen and (min-width: 1392px)
57
+ @media screen and (min-width: 87em)
58
+
59
+
60
+ body
61
+ /* Reset baseline grid to 16/16 = 1.0
62
+ font-size: #{$font-size / $em}em
63
+
64
+ header, #twoway
65
+ +outer(5)
66
+
67
+
68
+ /* @media screen and (min-width: 1680px)
69
+ @media screen and (min-width: 105em)
70
+
71
+
72
+ body
73
+ /* Zoom baseline grid to 17/16 = 1.0625
74
+ font-size: #{($font-size + 1) / $em}em
@@ -0,0 +1,37 @@
1
+ /*
2
+ **
3
+ ** Zoomable baseline grid
4
+ ** type size presets
5
+ */
6
+
7
+
8
+ body
9
+ /* 16px / 24px */
10
+ +body
11
+
12
+ .small
13
+ /* 13px / 18px */
14
+ +small
15
+
16
+ h3,
17
+ .normal
18
+ /* 16px / 24px */
19
+ +normal
20
+
21
+ h1,
22
+ h2,
23
+ .large
24
+ /* 16px / 24px */
25
+ +large
26
+
27
+ .huge
28
+ /* 42px / 48px */
29
+ +huge
30
+
31
+ .massive
32
+ /* 68px / 72px */
33
+ +massive
34
+
35
+ .gigantic
36
+ /* 110px / 120px */
37
+ +gigantic
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: compass-golden-grid-system
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tal Williams
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-10 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: compass
16
+ requirement: &70203615442760 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0.10'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70203615442760
25
+ description: A folding grid for responsive design.
26
+ email:
27
+ - contact.me@talwilliams.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - README.mkdn
35
+ - compass-golden-grid-system.gemspec
36
+ - lib/ggs.rb
37
+ - stylesheets/ggs/_mixins.sass
38
+ - stylesheets/ggs/_normalize.sass
39
+ - templates/project/GGS.html
40
+ - templates/project/GGS.js
41
+ - templates/project/GGS.sass
42
+ - templates/project/manifest.rb
43
+ - templates/project/partials/_global.sass
44
+ - templates/project/partials/_large.sass
45
+ - templates/project/partials/_mobile.sass
46
+ - templates/project/partials/_tablet.sass
47
+ - templates/project/partials/_type.sass
48
+ homepage: http://github.com/xtalx/compass-golden-grid-system
49
+ licenses: []
50
+ post_install_message:
51
+ rdoc_options: []
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubyforge_project: compass-golden-grid-system
68
+ rubygems_version: 1.8.10
69
+ signing_key:
70
+ specification_version: 3
71
+ summary: Compass compatible port of Golden Grid System
72
+ test_files: []