gumby_on_rails 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +34 -0
- data/app/assets/javascripts/gumby/libs/extensions/gumby.comments.js +152 -0
- data/app/assets/javascripts/gumby/libs/extensions/gumby.fittext.js +126 -0
- data/app/assets/javascripts/gumby/libs/extensions/gumby.images.js +202 -0
- data/app/assets/javascripts/gumby/libs/extensions/gumby.inview.js +219 -0
- data/app/assets/javascripts/gumby/libs/extensions/gumby.parallax.js +106 -0
- data/app/assets/javascripts/gumby/libs/extensions/gumby.shuffle.js +198 -0
- data/app/assets/javascripts/gumby/libs/gumby.init.js +47 -0
- data/app/assets/javascripts/gumby/libs/gumby.js +258 -0
- data/app/assets/javascripts/gumby/libs/gumby.min.js +1 -0
- data/app/assets/javascripts/gumby/libs/jquery-1.10.1.min.js +6 -0
- data/app/assets/javascripts/gumby/libs/jquery-1.10.1.min.map +1 -0
- data/app/assets/javascripts/gumby/libs/jquery-2.0.2.min.js +6 -0
- data/app/assets/javascripts/gumby/libs/jquery-2.0.2.min.map +1 -0
- data/app/assets/javascripts/gumby/libs/jquery.mobile.custom.min.js +3 -0
- data/app/assets/javascripts/gumby/libs/modernizr-2.6.2.min.js +4 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.checkbox.js +101 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.fixed.js +240 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.navbar.js +115 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.radiobtn.js +90 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.retina.js +81 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.skiplink.js +157 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.tabs.js +80 -0
- data/app/assets/javascripts/gumby/libs/ui/gumby.toggleswitch.js +264 -0
- data/app/assets/javascripts/gumby/libs/ui/jquery.validation.js +142 -0
- data/app/assets/javascripts/gumby/main.js +23 -0
- data/app/assets/javascripts/gumby/plugins.js +4 -0
- data/app/assets/javascripts/gumby.all.js +19 -0
- data/app/assets/javascripts/gumby.js +13 -0
- data/app/assets/stylesheets/gumby/_base.scss +49 -0
- data/app/assets/stylesheets/gumby/_custom.scss +1 -0
- data/app/assets/stylesheets/gumby/_fonts.scss +28 -0
- data/app/assets/stylesheets/gumby/_grid.scss +339 -0
- data/app/assets/stylesheets/gumby/_parallax.scss +11 -0
- data/app/assets/stylesheets/gumby/_shame.scss +36 -0
- data/app/assets/stylesheets/gumby/_typography.scss +272 -0
- data/app/assets/stylesheets/gumby/extensions/modular-scale/lib/modular-scale.rb +128 -0
- data/app/assets/stylesheets/gumby/extensions/modular-scale/stylesheets/_modular-scale.scss +310 -0
- data/app/assets/stylesheets/gumby/extensions/sassy-math/lib/sassy-math.rb +159 -0
- data/app/assets/stylesheets/gumby/extensions/sassy-math/stylesheets/_math.scss +310 -0
- data/app/assets/stylesheets/gumby/functions/_all.scss +25 -0
- data/app/assets/stylesheets/gumby/functions/_breakpoints.scss +11 -0
- data/app/assets/stylesheets/gumby/functions/_button-size.scss +44 -0
- data/app/assets/stylesheets/gumby/functions/_clearfix.scss +25 -0
- data/app/assets/stylesheets/gumby/functions/_em.scss +11 -0
- data/app/assets/stylesheets/gumby/functions/_even.scss +10 -0
- data/app/assets/stylesheets/gumby/functions/_fade.scss +20 -0
- data/app/assets/stylesheets/gumby/functions/_fancytiles.scss +29 -0
- data/app/assets/stylesheets/gumby/functions/_fixed.scss +21 -0
- data/app/assets/stylesheets/gumby/functions/_forms.scss +18 -0
- data/app/assets/stylesheets/gumby/functions/_grid-calc.scss +82 -0
- data/app/assets/stylesheets/gumby/functions/_height-calc.scss +6 -0
- data/app/assets/stylesheets/gumby/functions/_icons.scss +35 -0
- data/app/assets/stylesheets/gumby/functions/_line-and-height.scss +7 -0
- data/app/assets/stylesheets/gumby/functions/_palette.scss +76 -0
- data/app/assets/stylesheets/gumby/functions/_responsivity.scss +34 -0
- data/app/assets/stylesheets/gumby/functions/_semantic-grid.scss +170 -0
- data/app/assets/stylesheets/gumby/functions/_shapes.scss +22 -0
- data/app/assets/stylesheets/gumby/functions/_strip-units.scss +5 -0
- data/app/assets/stylesheets/gumby/functions/_tooltips.scss +98 -0
- data/app/assets/stylesheets/gumby/functions/_typography.scss +15 -0
- data/app/assets/stylesheets/gumby/functions/_visibility.scss +17 -0
- data/app/assets/stylesheets/gumby/gumby.scss +39 -0
- data/app/assets/stylesheets/gumby/ui/_all.scss +11 -0
- data/app/assets/stylesheets/gumby/ui/_buttons.scss +154 -0
- data/app/assets/stylesheets/gumby/ui/_forms.scss +392 -0
- data/app/assets/stylesheets/gumby/ui/_icons.scss +23 -0
- data/app/assets/stylesheets/gumby/ui/_images.scss +23 -0
- data/app/assets/stylesheets/gumby/ui/_labels.scss +87 -0
- data/app/assets/stylesheets/gumby/ui/_navbar.scss +440 -0
- data/app/assets/stylesheets/gumby/ui/_tables.scss +89 -0
- data/app/assets/stylesheets/gumby/ui/_tabs.scss +156 -0
- data/app/assets/stylesheets/gumby/ui/_toggles.scss +73 -0
- data/app/assets/stylesheets/gumby/ui/_tooltips.scss +12 -0
- data/app/assets/stylesheets/gumby/ui/_video.scss +24 -0
- data/app/assets/stylesheets/gumby/var/_lists.scss +20 -0
- data/app/assets/stylesheets/gumby/var/_settings.scss +169 -0
- data/app/assets/stylesheets/gumby/var/icons/_entypo-icon-list.scss +286 -0
- data/app/assets/stylesheets/gumby/var/icons/_entypo.scss +294 -0
- data/app/assets/stylesheets/gumby.all.css.scss +20 -0
- data/app/assets/stylesheets/gumby.css.scss +37 -0
- data/app/controllers/gumby/application_controller.rb +4 -0
- data/app/helpers/gumby/application_helper.rb +4 -0
- data/app/views/layouts/gumby/application.html.erb +14 -0
- data/config/routes.rb +2 -0
- data/lib/gumby/engine.rb +10 -0
- data/lib/gumby/version.rb +3 -0
- data/lib/gumby.rb +4 -0
- data/lib/tasks/gumby_tasks.rake +20 -0
- data/public/fonts/gumby/icons/entypo.eot +0 -0
- data/public/fonts/gumby/icons/entypo.ttf +0 -0
- data/public/fonts/gumby/icons/entypo.woff +0 -0
- metadata +235 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
// Color Pallete
|
2
|
+
|
3
|
+
@function getColor($key, $state: false, $list: $ui-coloring) {
|
4
|
+
@each $color in $list {
|
5
|
+
@if $key == nth($color, 1) and $state == default {
|
6
|
+
@return nth($color, 2);
|
7
|
+
}
|
8
|
+
@else if $key == nth($color, 1) and $state == hover {
|
9
|
+
@return nth($color, 3);
|
10
|
+
}
|
11
|
+
@else if $key == nth($color, 1) {
|
12
|
+
@return nth($color, 1);
|
13
|
+
}
|
14
|
+
}
|
15
|
+
@return false;
|
16
|
+
}
|
17
|
+
|
18
|
+
@mixin palette($shade, $palette-text-color:false) {
|
19
|
+
@if $shade == getColor($shade) {
|
20
|
+
@if $palette-text-color != false {
|
21
|
+
color: $palette-text-color;
|
22
|
+
}
|
23
|
+
@else {
|
24
|
+
color: lighten(getColor($shade, default), 80%);
|
25
|
+
}
|
26
|
+
background: getColor($shade, default);
|
27
|
+
border: 1px solid getColor($shade, default);
|
28
|
+
&:hover {
|
29
|
+
background: getColor($shade, hover);
|
30
|
+
border: 1px solid darken(getColor($shade, hover), 3%);
|
31
|
+
}
|
32
|
+
&:active {
|
33
|
+
background: darken(getColor($shade, default), 10%);
|
34
|
+
border: 1px solid darken(getColor($shade, default), 10%);
|
35
|
+
}
|
36
|
+
|
37
|
+
@if $shade == default {
|
38
|
+
@if $palette-text-color != false {
|
39
|
+
color: $palette-text-color;
|
40
|
+
}
|
41
|
+
@else {
|
42
|
+
color: darken(getColor($shade, default), 61.5%);
|
43
|
+
}
|
44
|
+
border: 1px solid getColor($shade, default);
|
45
|
+
&:hover {
|
46
|
+
border: 1px solid darken(getColor($shade, hover), 5%);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
@if $shade == warning {
|
50
|
+
@if $palette-text-color != false {
|
51
|
+
color: $palette-text-color;
|
52
|
+
}
|
53
|
+
@else {
|
54
|
+
color: darken(getColor($shade, hover), 40%);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
@else {
|
59
|
+
@if $palette-text-color != false {
|
60
|
+
color: $palette-text-color;
|
61
|
+
}
|
62
|
+
@else {
|
63
|
+
color: lighten($shade, 80%);
|
64
|
+
}
|
65
|
+
background: $shade;
|
66
|
+
border: 1px solid $shade;
|
67
|
+
&:hover {
|
68
|
+
background: lighten($shade, 30%);
|
69
|
+
border: 1px solid lighten($shade, 27%);
|
70
|
+
}
|
71
|
+
&:active {
|
72
|
+
background: darken($shade, 10%);
|
73
|
+
border: 1px solid darken($shade, 10%);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
// Responsive Mixins
|
2
|
+
|
3
|
+
@mixin respond($media) {
|
4
|
+
@if $media == portrait-phones {
|
5
|
+
@media only screen and (max-width: $min-device-width) { @content; }
|
6
|
+
}
|
7
|
+
@else if $media == landscape-phones {
|
8
|
+
@media only screen and (min-width: breakpoint($min-device-width)) and (max-width: breakpoint($tablet-device-width)) { @content; }
|
9
|
+
}
|
10
|
+
@else if $media == all-phones {
|
11
|
+
@media only screen and (max-width: breakpoint($tablet-device-width)) { @content; }
|
12
|
+
}
|
13
|
+
@else if $media == portrait-tablets {
|
14
|
+
@media only screen and (max-width: $tablet-device-width) { @content; }
|
15
|
+
}
|
16
|
+
@else if $media == tablets {
|
17
|
+
@media only screen and (min-width: $tablet-device-width) and (max-width: $document-width - 1) { @content; }
|
18
|
+
}
|
19
|
+
@else if $media == desktop {
|
20
|
+
@media only screen and (min-width: $tablet-device-width) { @content; }
|
21
|
+
}
|
22
|
+
@else if $media == document-width {
|
23
|
+
@media only screen and (max-width: $document-width + 20) { @content; }
|
24
|
+
}
|
25
|
+
@else if $media == large-screens {
|
26
|
+
@media only screen and (min-width: $max-device-width) { @content; }
|
27
|
+
}
|
28
|
+
@else if $media == print {
|
29
|
+
@media print { @content; }
|
30
|
+
}
|
31
|
+
@else {
|
32
|
+
@media only screen and ('#{$media}') { @content; }
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,170 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
// Gumby Semantic Grid Mixin //
|
4
|
+
|
5
|
+
|
6
|
+
// Mixin for rows
|
7
|
+
|
8
|
+
@mixin row($nested: false) {
|
9
|
+
@if $nested == nested {
|
10
|
+
@include nestedRow();
|
11
|
+
}
|
12
|
+
@else {
|
13
|
+
width: 100%;
|
14
|
+
max-width: $row-max-width + 40px;
|
15
|
+
min-width: $min-device-width;
|
16
|
+
margin: 0 auto;
|
17
|
+
padding-left: 20px;
|
18
|
+
padding-right: 20px;
|
19
|
+
@extend %clearfix;
|
20
|
+
}
|
21
|
+
> *:first-child {
|
22
|
+
margin-left: 0;
|
23
|
+
}
|
24
|
+
@include respond(all-phones) {
|
25
|
+
width: auto;
|
26
|
+
min-width: 0;
|
27
|
+
margin-left: 0;
|
28
|
+
margin-right: 0;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
// Mixin for rows that are nested within columns
|
33
|
+
|
34
|
+
@mixin nestedRow() {
|
35
|
+
width: auto;
|
36
|
+
min-width: 0;
|
37
|
+
max-width: none;
|
38
|
+
padding-left: 0;
|
39
|
+
padding-right: 0;
|
40
|
+
@extend %clearfix;
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
@mixin column($columns:$columns, $alignment: false, $behavior: false, $hybrid: false) {
|
45
|
+
@extend %columnconfig;
|
46
|
+
@if $alignment == center {
|
47
|
+
float: none;
|
48
|
+
margin-left: auto !important;
|
49
|
+
margin-right: auto !important;
|
50
|
+
width: columns($columns, $hybrid);
|
51
|
+
@include respond(all-phones) {
|
52
|
+
float: left;
|
53
|
+
margin-left: 0;
|
54
|
+
width: 100%;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
@else if $behavior == collapse {
|
58
|
+
@extend %collapse;
|
59
|
+
width: columns($columns, $hybrid);
|
60
|
+
@include respond(all-phones) {
|
61
|
+
float: left;
|
62
|
+
width: 100%;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
@else {
|
66
|
+
width: columns($columns, $hybrid);
|
67
|
+
@include respond(all-phones) {
|
68
|
+
float: left;
|
69
|
+
margin-left: 0;
|
70
|
+
width: 100%;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
@mixin hybrid($columns:$columns, $alignment: false, $behavior: false) {
|
76
|
+
@include column($columns, $alignment, $behavior, true);
|
77
|
+
}
|
78
|
+
|
79
|
+
@mixin push($columns, $hybrid-grid: false) {
|
80
|
+
@if $hybrid-grid == hybrid {
|
81
|
+
margin-left: push_x($columns, false, true);
|
82
|
+
&:first-child {
|
83
|
+
margin-left: push_x($columns, true, true);
|
84
|
+
}
|
85
|
+
@include respond(all-phones) {
|
86
|
+
margin-left: 0;
|
87
|
+
&:first-child {
|
88
|
+
margin-left: 0;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
@else {
|
93
|
+
margin-left: push_x($columns);
|
94
|
+
&:first-child {
|
95
|
+
margin-left: push_x($columns, true);
|
96
|
+
}
|
97
|
+
@include respond(all-phones) {
|
98
|
+
margin-left: 0;
|
99
|
+
&:first-child {
|
100
|
+
margin-left: 0;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
@mixin pull($direction: false, $columns: 0, $width: 0, $hybrid-grid: false) {
|
107
|
+
@if $direction == left {
|
108
|
+
@extend %pull-left;
|
109
|
+
@if ($columns > 0 and $width > 0) {
|
110
|
+
@if ($hybrid-grid == hybrid) {
|
111
|
+
margin-left: pull_x($columns, $width, true);
|
112
|
+
&:first-child {
|
113
|
+
margin-left: 0;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
@else {
|
117
|
+
margin-left: pull_x($columns, $width);
|
118
|
+
&:first-child {
|
119
|
+
margin-left: 0;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
123
|
+
}
|
124
|
+
@elseif $direction == none {
|
125
|
+
@extend %pull-none;
|
126
|
+
}
|
127
|
+
@else {
|
128
|
+
@extend %pull-right;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
|
133
|
+
// Placeholders for the Semantic Grid
|
134
|
+
|
135
|
+
%container {
|
136
|
+
padding: 0 $gutter-in-px + px;
|
137
|
+
@include respond(all-phones) {
|
138
|
+
min-width: 0;
|
139
|
+
margin-left: 0;
|
140
|
+
margin-right: 0;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
// Clearfix placeholder
|
145
|
+
%clearfix { @include clearfix(); }
|
146
|
+
|
147
|
+
// Clearfix placeholder for mobile
|
148
|
+
%mobilefix { @include mobilefix(); }
|
149
|
+
|
150
|
+
// Row placeholders
|
151
|
+
%row { @include row(); }
|
152
|
+
%nestedrow { @include row(); }
|
153
|
+
|
154
|
+
// Column Configuration placeholder
|
155
|
+
%columnconfig {
|
156
|
+
margin-left: $gutter;
|
157
|
+
float: $default-float;
|
158
|
+
min-height: 1px;
|
159
|
+
position: relative;
|
160
|
+
@include box-sizing(border-box);
|
161
|
+
}
|
162
|
+
|
163
|
+
%pull-right { float: right; }
|
164
|
+
%pull-left { float: left; }
|
165
|
+
%pull-none { float: none; }
|
166
|
+
|
167
|
+
// Collapse Gutters
|
168
|
+
%collapse {
|
169
|
+
margin-left: 0;
|
170
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
// Shapes
|
2
|
+
|
3
|
+
@mixin shape($shape: square, $shape-radius: false) {
|
4
|
+
@if $shape == oval {
|
5
|
+
@include border-radius(1000px);
|
6
|
+
}
|
7
|
+
@else if $shape == circle {
|
8
|
+
@include border-radius(1000px);
|
9
|
+
}
|
10
|
+
@else if $shape == pill-left {
|
11
|
+
@include border-radius(500px 0 0 500px);
|
12
|
+
}
|
13
|
+
@else if $shape == pill-right {
|
14
|
+
@include border-radius(0 500px 500px 0);
|
15
|
+
}
|
16
|
+
@else if $shape-radius != false {
|
17
|
+
@include border-radius($shape-radius);
|
18
|
+
}
|
19
|
+
@else {
|
20
|
+
@include border-radius(0);
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,98 @@
|
|
1
|
+
// CSS Tooltips
|
2
|
+
|
3
|
+
@mixin tooltip($tt-min-width, $tt-bgcolor, $tt-position, $tt-align) {
|
4
|
+
position: relative;
|
5
|
+
|
6
|
+
&:after {
|
7
|
+
display: block;
|
8
|
+
background: $tt-bgcolor;
|
9
|
+
border: 1px solid $tt-bgcolor;
|
10
|
+
border-bottom: 0;
|
11
|
+
@include border-radius(3px);
|
12
|
+
padding: em(8) em(12);
|
13
|
+
width: auto;
|
14
|
+
min-width: $tt-min-width;
|
15
|
+
max-width: 500px;
|
16
|
+
position: absolute;
|
17
|
+
@if $tt-position == "bottom" {
|
18
|
+
@if $tt-align == "right" { right: 0 } @else { left: 0; }
|
19
|
+
top: 101%;
|
20
|
+
margin-top: 8px;
|
21
|
+
} @else if $tt-position == "top" {
|
22
|
+
@if $tt-align == "right" { right: 0 } @else { left: 0; }
|
23
|
+
bottom: 101%;
|
24
|
+
margin-bottom: 8px;
|
25
|
+
} @else if $tt-position == "left" {
|
26
|
+
right: 101%;
|
27
|
+
top: -35%;
|
28
|
+
margin-right: 8px;
|
29
|
+
} @else if $tt-position == "right" {
|
30
|
+
left: 101%;
|
31
|
+
top: -35%;
|
32
|
+
margin-left: 8px;
|
33
|
+
}
|
34
|
+
|
35
|
+
@if $tt-align == "right" {
|
36
|
+
text-align: right;
|
37
|
+
} @else if $tt-align == "left" {
|
38
|
+
text-align: left;
|
39
|
+
}
|
40
|
+
|
41
|
+
color: #fff;
|
42
|
+
content: attr(data-tooltip);
|
43
|
+
line-height: 1.5;
|
44
|
+
font-size: $norm;
|
45
|
+
font-weight: normal;
|
46
|
+
font-style: normal;
|
47
|
+
|
48
|
+
@include transition(opacity 0.1s ease);
|
49
|
+
@include opacity(0);
|
50
|
+
pointer-events: none;
|
51
|
+
|
52
|
+
@if $tt-pretty != "no" {
|
53
|
+
@include background-image(linear-gradient($tt-position, lighten($tt-bgcolor, 12.5%), $tt-bgcolor));
|
54
|
+
@include box-shadow(0 0 5px 0 rgba($tt-bgcolor,.25));
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
&:before {
|
59
|
+
content: " ";
|
60
|
+
width: 0;
|
61
|
+
height: 0;
|
62
|
+
position: absolute;
|
63
|
+
@if $tt-position == "bottom" {
|
64
|
+
top: 101%;
|
65
|
+
@if $tt-align == "right" { right: 8px } @else { left: 8px; }
|
66
|
+
border-bottom: 9px solid $tt-bgcolor !important;
|
67
|
+
border-left: 9px solid transparent;
|
68
|
+
border-right: 9px solid transparent;
|
69
|
+
} @else if $tt-position == "top" {
|
70
|
+
bottom: 101%;
|
71
|
+
@if $tt-align == "right" { right: 8px } @else { left: 8px; }
|
72
|
+
border-top: 9px solid $tt-bgcolor !important;
|
73
|
+
border-left: 9px solid transparent;
|
74
|
+
border-right: 9px solid transparent;
|
75
|
+
} @else if $tt-position == "left" {
|
76
|
+
top: 3px;
|
77
|
+
right: 101%;
|
78
|
+
border-left: 9px solid $tt-bgcolor !important;
|
79
|
+
border-top: 9px solid transparent;
|
80
|
+
border-bottom: 9px solid transparent;
|
81
|
+
} @else if $tt-position == "right" {
|
82
|
+
top: 3px;
|
83
|
+
left: 101%;
|
84
|
+
border-right: 9px solid $tt-bgcolor !important;
|
85
|
+
border-top: 9px solid transparent;
|
86
|
+
border-bottom: 9px solid transparent;
|
87
|
+
}
|
88
|
+
@include transition(opacity 0.1s ease);
|
89
|
+
@include opacity(0);
|
90
|
+
pointer-events: none;
|
91
|
+
}
|
92
|
+
|
93
|
+
&:hover:after,
|
94
|
+
&:hover:before {
|
95
|
+
@include transition(opacity 0.1s ease);
|
96
|
+
@include opacity(1);
|
97
|
+
}
|
98
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// Typography mixins
|
2
|
+
|
3
|
+
// Fonts in rems with px fallback
|
4
|
+
|
5
|
+
@mixin font-size($size, $is-important: false) {
|
6
|
+
$size: if(unitless($size), $size, $size / 1px);
|
7
|
+
|
8
|
+
@if $is-important {
|
9
|
+
font-size: $size + px !important;
|
10
|
+
font-size: ($size / strip-units($base-font-size)) + rem !important;
|
11
|
+
} @else {
|
12
|
+
font-size: $size + px;
|
13
|
+
font-size: ($size / strip-units($base-font-size)) + rem;
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
// Visibility Mixins
|
2
|
+
|
3
|
+
// Mixin for hidden
|
4
|
+
|
5
|
+
@mixin hidden($media) {
|
6
|
+
@include respond($media) {
|
7
|
+
display: none !important;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
// Mixin for visible
|
12
|
+
|
13
|
+
@mixin visible($media) {
|
14
|
+
@include respond($media) {
|
15
|
+
display: inherit !important;
|
16
|
+
}
|
17
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/**
|
2
|
+
* Gumby Framework
|
3
|
+
* ---------------
|
4
|
+
*
|
5
|
+
* Follow @gumbycss on twitter and spread the love.
|
6
|
+
* We worked super hard on making this awesome and released it to the web.
|
7
|
+
* All we ask is you leave this intact. #gumbyisawesome
|
8
|
+
*
|
9
|
+
* Gumby Framework
|
10
|
+
* http://gumbyframework.com
|
11
|
+
*
|
12
|
+
* Built with love by your friends @digitalsurgeons
|
13
|
+
* http://www.digitalsurgeons.com
|
14
|
+
*
|
15
|
+
* Free to use under the MIT license.
|
16
|
+
* http://www.opensource.org/licenses/mit-license.php
|
17
|
+
*/
|
18
|
+
|
19
|
+
@charset "UTF-8";
|
20
|
+
|
21
|
+
@import "modular-scale";
|
22
|
+
|
23
|
+
@import "var/settings";
|
24
|
+
@import "var/lists";
|
25
|
+
@import "var/icons/entypo";
|
26
|
+
|
27
|
+
@import "compass";
|
28
|
+
@import "compass/reset";
|
29
|
+
|
30
|
+
@import "functions/all";
|
31
|
+
|
32
|
+
@import "base";
|
33
|
+
@import "fonts";
|
34
|
+
@import "typography";
|
35
|
+
@import "grid";
|
36
|
+
@import "ui/all";
|
37
|
+
@import "shame";
|
38
|
+
|
39
|
+
@import "custom";
|
@@ -0,0 +1,154 @@
|
|
1
|
+
/* Buttons */
|
2
|
+
|
3
|
+
// Buttons
|
4
|
+
@import "../functions/button-size";
|
5
|
+
|
6
|
+
// Button structure
|
7
|
+
.btn, .skiplink {
|
8
|
+
display: inline-block;
|
9
|
+
width: auto;
|
10
|
+
background: $default-color;
|
11
|
+
-webkit-appearance: none;
|
12
|
+
font-family: $font-family;
|
13
|
+
font-weight: $button-font-weight;
|
14
|
+
padding: 0 !important;
|
15
|
+
text-align: center;
|
16
|
+
.pretty & { @extend .pretty.btn; }
|
17
|
+
.metro & { @extend .metro.btn; }
|
18
|
+
|
19
|
+
> a, input, button {
|
20
|
+
display: block;
|
21
|
+
padding: 0 $default-button-padding;
|
22
|
+
color: $white;
|
23
|
+
height: 100%;
|
24
|
+
}
|
25
|
+
|
26
|
+
input, button {
|
27
|
+
background: none;
|
28
|
+
border: none;
|
29
|
+
width: 100%;
|
30
|
+
font-size: 100%;
|
31
|
+
cursor: pointer;
|
32
|
+
font-weight: $type-font-weight;
|
33
|
+
@include appearance(none);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
// Button Shapes & Sizes
|
38
|
+
.btn, .skiplink {
|
39
|
+
&.xlarge {
|
40
|
+
@include button-size(xlarge);
|
41
|
+
}
|
42
|
+
&.large {
|
43
|
+
@include button-size(large);
|
44
|
+
}
|
45
|
+
&.medium {
|
46
|
+
@include button-size(medium);
|
47
|
+
a {
|
48
|
+
padding: 0 ms(1);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
&.small {
|
52
|
+
@include button-size(small);
|
53
|
+
a {
|
54
|
+
padding: 0 ms(-1);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
&.oval {
|
59
|
+
@include shape(oval);
|
60
|
+
}
|
61
|
+
|
62
|
+
&.pill-left {
|
63
|
+
@include shape(pill-left);
|
64
|
+
}
|
65
|
+
|
66
|
+
&.pill-right {
|
67
|
+
@include shape(pill-right);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
// Button Colors & Styles
|
72
|
+
.btn, .skiplink {
|
73
|
+
@each $shade in $ui-coloring {
|
74
|
+
&.#{nth($shade, 1)} {
|
75
|
+
background: nth($shade, 2);
|
76
|
+
border: 1px solid nth($shade, 2);
|
77
|
+
&:hover {
|
78
|
+
background: lighten(nth($shade, 2), 10%);
|
79
|
+
}
|
80
|
+
&:active {
|
81
|
+
background: darken(nth($shade, 2), 10%);
|
82
|
+
}
|
83
|
+
@if nth($shade, 1) == default {
|
84
|
+
color: darken(nth($shade, 2), 61.5%);
|
85
|
+
border: 1px solid nth($shade, 2);
|
86
|
+
&:hover {
|
87
|
+
border: 1px solid darken(nth($shade, 2), 5%);
|
88
|
+
}
|
89
|
+
a, input, button {
|
90
|
+
color: darken(nth($shade, 2), 61.5%);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
@if nth($shade, 1) == warning {
|
94
|
+
color: darken(nth($shade, 2), 40%);
|
95
|
+
a, input, button {
|
96
|
+
color: darken(nth($shade, 2), 40%);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
.btn.metro,
|
104
|
+
.skiplink.metro,
|
105
|
+
.btn.pretty.squared,
|
106
|
+
.pretty .btn.squared {
|
107
|
+
@include border-radius(0);
|
108
|
+
}
|
109
|
+
|
110
|
+
.btn.pretty,
|
111
|
+
.skiplink.pretty,
|
112
|
+
.btn.metro.rounded,
|
113
|
+
.metro .btn.rounded {
|
114
|
+
@include border-radius($button-radius);
|
115
|
+
}
|
116
|
+
|
117
|
+
|
118
|
+
// Buttons with Gradients
|
119
|
+
.btn, .skiplink {
|
120
|
+
&.pretty {
|
121
|
+
@each $grade in $ui-coloring {
|
122
|
+
&.#{nth($grade, 1)} {
|
123
|
+
@include background-image(linear-gradient(lighten(nth($grade, 2), 20%), saturate(nth($grade, 2), 5%)));
|
124
|
+
@include box-shadow(inset 0 0 3px lighten(nth($grade, 2), 45%));
|
125
|
+
border: 1px solid darken(nth($grade, 2), 15%);
|
126
|
+
&:hover {
|
127
|
+
@include background-image(linear-gradient(lighten(nth($grade, 3), 15%), saturate(nth($grade, 3), 5%)));
|
128
|
+
@include box-shadow(inset 0 0 3px lighten(nth($grade, 3), 40%));
|
129
|
+
border: 1px solid darken(nth($grade, 3), 15%);
|
130
|
+
}
|
131
|
+
&:active {
|
132
|
+
@include background-image(linear-gradient(saturate(nth($grade, 2), 5%), lighten(nth($grade, 2), 20%)));
|
133
|
+
@include box-shadow(inset 0 0 3px lighten(nth($grade, 2), 50%));
|
134
|
+
}
|
135
|
+
@if nth($grade, 1) == default {
|
136
|
+
a, input, button {
|
137
|
+
text-shadow: 0 1px 1px lighten(nth($grade, 2), 20%);
|
138
|
+
}
|
139
|
+
}
|
140
|
+
@elseif nth($grade, 1) == warning {
|
141
|
+
color: darken(nth($grade, 2), 40%);
|
142
|
+
a, input, button {
|
143
|
+
text-shadow: 0 1px 1px lighten(nth($grade, 2), 20%);
|
144
|
+
}
|
145
|
+
}
|
146
|
+
@else {
|
147
|
+
a, input, button {
|
148
|
+
text-shadow: 0 1px 1px darken(nth($grade, 2), 20%);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|