mindy 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ABOUT.mdown +3 -0
- data/lib/mindy.rb +9 -0
- data/stylesheets/mindy/_mindy.scss +15 -0
- data/stylesheets/mindy/css3/_animate.scss +2557 -0
- data/stylesheets/mindy/css3/_buttons.scss +453 -0
- data/stylesheets/mindy/css3/_buttons_refactor.scss +110 -0
- data/stylesheets/mindy/css3/_font-family.scss +8 -0
- data/stylesheets/mindy/css3/_formalize.scss +270 -0
- data/stylesheets/mindy/css3/_multi_line_buttons.sass +53 -0
- data/stylesheets/mindy/css3/_shadow.scss +38 -0
- data/stylesheets/mindy/grid/_grid.scss +102 -0
- data/stylesheets/mindy/grid/_respond.scss +34 -0
- data/stylesheets/mindy/utils/_deprecated.scss +1 -0
- data/stylesheets/mindy/utils/_mixins.scss +94 -0
- data/stylesheets/mindy/utils/_reset.scss +229 -0
- data/stylesheets/mindy/utils/_variables.scss +2 -0
- metadata +91 -0
@@ -0,0 +1,270 @@
|
|
1
|
+
// Note: This file is dependent on Sass and Compass.
|
2
|
+
// Sass = http://sass-lang.com
|
3
|
+
// Compass = http://compass-style.org
|
4
|
+
|
5
|
+
@import "compass/css3";
|
6
|
+
|
7
|
+
// `Widths
|
8
|
+
//----------------------------------------------------------------------------------------------------
|
9
|
+
|
10
|
+
.input_tiny {
|
11
|
+
width: 50px;
|
12
|
+
}
|
13
|
+
|
14
|
+
.input_small {
|
15
|
+
width: 100px;
|
16
|
+
}
|
17
|
+
|
18
|
+
.input_medium {
|
19
|
+
width: 150px;
|
20
|
+
}
|
21
|
+
|
22
|
+
.input_large {
|
23
|
+
width: 200px;
|
24
|
+
}
|
25
|
+
|
26
|
+
.input_xlarge {
|
27
|
+
width: 250px;
|
28
|
+
}
|
29
|
+
|
30
|
+
.input_xxlarge {
|
31
|
+
width: 300px;
|
32
|
+
}
|
33
|
+
|
34
|
+
.input_full {
|
35
|
+
width: 100%;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Added via JS to <textarea> and class="input-full".
|
39
|
+
// Applies only to IE7. Other browsers don't need it.
|
40
|
+
|
41
|
+
.input_full_wrap {
|
42
|
+
display: block;
|
43
|
+
padding-right: 8px;
|
44
|
+
}
|
45
|
+
|
46
|
+
// `UI Consistency
|
47
|
+
//----------------------------------------------------------------------------------------------------
|
48
|
+
|
49
|
+
input[type="search"]::-webkit-search-decoration {
|
50
|
+
display: none;
|
51
|
+
}
|
52
|
+
|
53
|
+
input,
|
54
|
+
select,
|
55
|
+
textarea {
|
56
|
+
// Suppress red glow that Firefox
|
57
|
+
// adds to form fields by default.
|
58
|
+
&:invalid {
|
59
|
+
@include box-shadow(none);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
input[type="file"],
|
64
|
+
input[type="radio"],
|
65
|
+
input[type="checkbox"] {
|
66
|
+
&:focus,
|
67
|
+
&:active {
|
68
|
+
@include box-shadow(none);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
textarea,
|
73
|
+
select,
|
74
|
+
input[type="date"],
|
75
|
+
input[type="datetime"],
|
76
|
+
input[type="datetime-local"],
|
77
|
+
input[type="email"],
|
78
|
+
input[type="month"],
|
79
|
+
input[type="number"],
|
80
|
+
input[type="password"],
|
81
|
+
input[type="search"],
|
82
|
+
input[type="tel"],
|
83
|
+
input[type="text"],
|
84
|
+
input[type="time"],
|
85
|
+
input[type="url"],
|
86
|
+
input[type="week"] {
|
87
|
+
@include box-sizing(border-box);
|
88
|
+
@include background-clip(padding-box);
|
89
|
+
@include border-radius(0);
|
90
|
+
-webkit-appearance: none;
|
91
|
+
background-color: white;
|
92
|
+
border: 1px solid;
|
93
|
+
border-color: #848484 #c1c1c1 #e1e1e1;
|
94
|
+
color: black;
|
95
|
+
outline: 0;
|
96
|
+
margin: 0;
|
97
|
+
padding: 2px 3px;
|
98
|
+
text-align: left;
|
99
|
+
font-size: 13px;
|
100
|
+
// Leaving out Helvetica Neue, to not throw off size="..."
|
101
|
+
// on inputs. Arial is more reliable, on Windows and OS X.
|
102
|
+
font-family: Arial, "Liberation Sans", FreeSans, sans-serif;
|
103
|
+
height: 1.8em;
|
104
|
+
vertical-align: top;
|
105
|
+
// IE7
|
106
|
+
*padding-top: 2px;
|
107
|
+
*padding-bottom: 1px;
|
108
|
+
*height: auto;
|
109
|
+
&[disabled] {
|
110
|
+
background-color: #eeeeee;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
input[disabled],
|
115
|
+
select[disabled],
|
116
|
+
select[disabled] option,
|
117
|
+
select[disabled] optgroup,
|
118
|
+
textarea[disabled]{
|
119
|
+
@include box-shadow(none);
|
120
|
+
-moz-user-select: -moz-none;
|
121
|
+
-webkit-user-select: none;
|
122
|
+
-khtml-user-select: none;
|
123
|
+
user-select: none;
|
124
|
+
color: #888888;
|
125
|
+
cursor: default;
|
126
|
+
}
|
127
|
+
|
128
|
+
// Separate rule for Firefox.
|
129
|
+
// Separate rule for IE, too.
|
130
|
+
// Cannot stack with WebKit's.
|
131
|
+
input::-webkit-input-placeholder,
|
132
|
+
textarea::-webkit-input-placeholder {
|
133
|
+
color: #888888;
|
134
|
+
}
|
135
|
+
|
136
|
+
input:-moz-placeholder,
|
137
|
+
textarea:-moz-placeholder {
|
138
|
+
color: #888888;
|
139
|
+
}
|
140
|
+
|
141
|
+
input.placeholder_text,
|
142
|
+
textarea.placeholder_text {
|
143
|
+
color: #888888;
|
144
|
+
}
|
145
|
+
|
146
|
+
textarea,
|
147
|
+
select[size],
|
148
|
+
select[multiple] {
|
149
|
+
height: auto;
|
150
|
+
}
|
151
|
+
|
152
|
+
// Set height back to normal,
|
153
|
+
// for Opera, WebKit, and IE.
|
154
|
+
select[size="0"],
|
155
|
+
select[size="1"] {
|
156
|
+
height: 1.8em;
|
157
|
+
// IE7
|
158
|
+
*height: auto;
|
159
|
+
}
|
160
|
+
|
161
|
+
// Tweaks for Safari + Chrome.
|
162
|
+
@media (-webkit-min-device-pixel-ratio: 0) {
|
163
|
+
select[size],
|
164
|
+
select[multiple],
|
165
|
+
select[multiple][size] {
|
166
|
+
background-image: none;
|
167
|
+
padding-right: 3px;
|
168
|
+
}
|
169
|
+
select,
|
170
|
+
select[size="0"],
|
171
|
+
select[size="1"] {
|
172
|
+
// Base64 encoded "../images/select_arrow.gif"
|
173
|
+
background-image: url(data:image/png;base64,R0lGODlhDQAEAIAAAAAAAP8A/yH5BAEHAAEALAAAAAANAAQAAAILhA+hG5jMDpxvhgIAOw==);
|
174
|
+
background-repeat: no-repeat;
|
175
|
+
background-position: right center;
|
176
|
+
padding-right: 20px;
|
177
|
+
}
|
178
|
+
::-webkit-validation-bubble-message {
|
179
|
+
-webkit-box-shadow: none;
|
180
|
+
box-shadow: none;
|
181
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666666), color-stop(1, black));
|
182
|
+
border: 1px solid;
|
183
|
+
border-color: #747474 #5e5e5e #4f4f4f;
|
184
|
+
color: white;
|
185
|
+
font: 13px / 17px "Lucida Grande", Arial, "Liberation Sans", FreeSans, sans-serif;
|
186
|
+
overflow: hidden;
|
187
|
+
padding: 15px 15px 17px;
|
188
|
+
text-shadow: black 0 0 1px;
|
189
|
+
height: 16px;
|
190
|
+
}
|
191
|
+
::-webkit-validation-bubble-arrow,
|
192
|
+
::-webkit-validation-bubble-top-outer-arrow,
|
193
|
+
::-webkit-validation-bubble-top-inner-arrow {
|
194
|
+
-webkit-box-shadow: none;
|
195
|
+
box-shadow: none;
|
196
|
+
background: #666666;
|
197
|
+
border: 0;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
|
201
|
+
textarea {
|
202
|
+
min-height: 40px;
|
203
|
+
overflow: auto;
|
204
|
+
resize: vertical;
|
205
|
+
width: 100%;
|
206
|
+
}
|
207
|
+
|
208
|
+
optgroup {
|
209
|
+
color: black;
|
210
|
+
font-style: normal;
|
211
|
+
font-weight: normal;
|
212
|
+
// Font family repeated, for Firefox.
|
213
|
+
font-family: Arial, "Liberation Sans", FreeSans, sans-serif;
|
214
|
+
// Kill phantom spacing and dotted
|
215
|
+
// border that appears in Firefox.
|
216
|
+
&::-moz-focus-inner {
|
217
|
+
border: 0;
|
218
|
+
padding: 0;
|
219
|
+
}
|
220
|
+
}
|
221
|
+
|
222
|
+
// `IE6
|
223
|
+
//----------------------------------------------------------------------------------------------------
|
224
|
+
|
225
|
+
// Everything below this line is for IE6.
|
226
|
+
// Delete it if you don't support it! :)
|
227
|
+
|
228
|
+
// Classes are added dynamically via JS,
|
229
|
+
// because IE6 doesn't support attribute
|
230
|
+
// selectors: .ie6_button, .ie6_input, etc.
|
231
|
+
|
232
|
+
// Note: These style rules are somewhat
|
233
|
+
// duplicated because IE6 bombs out when
|
234
|
+
// it sees attribute selectors. Example:
|
235
|
+
|
236
|
+
// .ie6_button {
|
237
|
+
// This works in IE6.
|
238
|
+
// }
|
239
|
+
|
240
|
+
// .ie6_button,
|
241
|
+
// input[type=submit] {
|
242
|
+
// This doesn't work.
|
243
|
+
// }
|
244
|
+
|
245
|
+
.ie6_input,
|
246
|
+
* html textarea,
|
247
|
+
* html select {
|
248
|
+
background: white;
|
249
|
+
border: 1px solid;
|
250
|
+
border-color: #848484 #c1c1c1 #e1e1e1;
|
251
|
+
color: black;
|
252
|
+
padding: 2px 3px 1px;
|
253
|
+
font-size: 13px;
|
254
|
+
font-family: Arial, sans-serif;
|
255
|
+
vertical-align: top;
|
256
|
+
}
|
257
|
+
|
258
|
+
* html select {
|
259
|
+
margin-top: 1px;
|
260
|
+
}
|
261
|
+
|
262
|
+
.placeholder_text,
|
263
|
+
.ie6_input_disabled,
|
264
|
+
.ie6_button_disabled {
|
265
|
+
color: #888888;
|
266
|
+
}
|
267
|
+
|
268
|
+
.ie6_input_disabled {
|
269
|
+
background: #eeeeee;
|
270
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
=multi-line-button($base-color)
|
2
|
+
+background-clip('padding-box')
|
3
|
+
border-width: 1px
|
4
|
+
+border-radius(6px)
|
5
|
+
border-style: solid
|
6
|
+
color: white
|
7
|
+
display: block
|
8
|
+
margin: 0.2em auto
|
9
|
+
padding: 12px 15px
|
10
|
+
text-align: center
|
11
|
+
text-decoration: none
|
12
|
+
.title
|
13
|
+
font-size: 24px
|
14
|
+
font-weight: bold
|
15
|
+
display: block
|
16
|
+
+opacity(0.9)
|
17
|
+
.subtitle
|
18
|
+
font-size: 14px
|
19
|
+
display: block
|
20
|
+
margin-top: 4px
|
21
|
+
+opacity(0.7)
|
22
|
+
&:hover
|
23
|
+
.title
|
24
|
+
+opacity(1)
|
25
|
+
.subtitle
|
26
|
+
+opacity(0.8)
|
27
|
+
&:active
|
28
|
+
padding: 13px 15px 11px
|
29
|
+
@if $base-color != none
|
30
|
+
+color-multi-line-button($base-color)
|
31
|
+
|
32
|
+
=color-multi-line-button($base-color)
|
33
|
+
$dark-color: darken($base-color, 10%)
|
34
|
+
$light-color: lighten($base-color, 10%)
|
35
|
+
$border-color: darken($base-color, 20%)
|
36
|
+
$light-border-color: lighten($base-color, 0%)
|
37
|
+
$highlight-color: transparentize(desaturate(lighten($base-color, 40%), 50%), 0.5)
|
38
|
+
$shadow-color: darken($base-color, 15%)
|
39
|
+
$text-shadow-color: darken($base-color, 15%)
|
40
|
+
background-color: $base-color
|
41
|
+
+linear-gradient(color-stops($light-color, $base-color, $dark-color))
|
42
|
+
border-color: $border-color
|
43
|
+
border-left-color: $light-border-color
|
44
|
+
border-top-color: $light-border-color
|
45
|
+
+box-shadow($highlight-color, 1px, 1px, 0, 0, inset)
|
46
|
+
color: white
|
47
|
+
+text-shadow($text-shadow-color, 0, 1px, 2px)
|
48
|
+
&:hover, &:focus
|
49
|
+
+linear-gradient(color-stops(lighten($light-color, 5%), lighten($base-color, 5%), $dark-color))
|
50
|
+
&:active, &.depressed
|
51
|
+
+linear-gradient(color-stops(desaturate(lighten($dark-color, 5%),10%), desaturate($base-color, 10%)))
|
52
|
+
+box-shadow(none)
|
53
|
+
border-color: $border-color
|
@@ -0,0 +1,38 @@
|
|
1
|
+
@mixin shadow() {
|
2
|
+
position:relative;
|
3
|
+
border-radius:4px;
|
4
|
+
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
|
5
|
+
-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
|
6
|
+
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
|
7
|
+
-moz-border-radius:4px;
|
8
|
+
|
9
|
+
&:before,
|
10
|
+
&:after {
|
11
|
+
content:"";
|
12
|
+
position:absolute;
|
13
|
+
z-index:-2;
|
14
|
+
bottom:15px;
|
15
|
+
left:10px;
|
16
|
+
width:50%;
|
17
|
+
height:20%;
|
18
|
+
max-width:300px;
|
19
|
+
-webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
|
20
|
+
-moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
|
21
|
+
box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
|
22
|
+
-webkit-transform:rotate(-3deg);
|
23
|
+
-moz-transform:rotate(-3deg);
|
24
|
+
-ms-transform:rotate(-3deg);
|
25
|
+
-o-transform:rotate(-3deg);
|
26
|
+
transform:rotate(-3deg);
|
27
|
+
}
|
28
|
+
|
29
|
+
&:after {
|
30
|
+
right:10px;
|
31
|
+
left:auto;
|
32
|
+
-webkit-transform:rotate(3deg);
|
33
|
+
-moz-transform:rotate(3deg);
|
34
|
+
-ms-transform:rotate(3deg);
|
35
|
+
-o-transform:rotate(3deg);
|
36
|
+
transform:rotate(3deg);
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,102 @@
|
|
1
|
+
// Grid System
|
2
|
+
// -----------
|
3
|
+
|
4
|
+
// Default 978px grid
|
5
|
+
// -------------------------
|
6
|
+
$gridFluid: false !default;
|
7
|
+
|
8
|
+
$gridColumns: 12 !default;
|
9
|
+
$gridColumnWidth: 54px !default;
|
10
|
+
$gridGutterWidth: 30px !default;
|
11
|
+
$gridRowWidth: 978px !default;
|
12
|
+
|
13
|
+
//@debug "$gridFluid is #{$gridFluid}";
|
14
|
+
@if $gridFluid == true {
|
15
|
+
$gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1)) !default;
|
16
|
+
$gridColumnWidth: percentage($gridColumnWidth/$gridRowWidth);
|
17
|
+
$gridGutterWidth: percentage($gridGutterWidth/$gridRowWidth);
|
18
|
+
} @else {
|
19
|
+
@if $gridRowWidth == 1378px { $gridColumns: 16; $gridColumnWidth: 58; $gridGutterWidth: 30; }
|
20
|
+
@else if $gridRowWidth == 1218px { $gridColumns: 16; $gridColumnWidth: 48; $gridGutterWidth: 30; }
|
21
|
+
@else if $gridRowWidth == 748px { $gridColumns: 12; $gridColumnWidth: 44; $gridGutterWidth: 20; }
|
22
|
+
@else if $gridRowWidth == 300px { $gridColumns: 8; $gridColumnWidth: 27; $gridGutterWidth: 12; }
|
23
|
+
}
|
24
|
+
|
25
|
+
// column mixin
|
26
|
+
@mixin column($n,$first:false) {
|
27
|
+
@include float-left;
|
28
|
+
|
29
|
+
@if $gridFluid == true {
|
30
|
+
@include grid-fluid-column($n);
|
31
|
+
} @else {
|
32
|
+
@include grid-column($n);
|
33
|
+
}
|
34
|
+
|
35
|
+
@if $first == true {
|
36
|
+
margin-left: 0;
|
37
|
+
} @else {
|
38
|
+
margin-left: $gridGutterWidth;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
// print layout styles
|
43
|
+
@mixin grid($gridColumnWidth) {
|
44
|
+
.column {
|
45
|
+
//float: left;
|
46
|
+
@include float-left;
|
47
|
+
|
48
|
+
@if $gridFluid == true {
|
49
|
+
*margin-left: $gridGutterWidth - (.5 / $gridRowWidth * 100px * 1%);
|
50
|
+
margin-left: $gridGutterWidth;
|
51
|
+
} @else {
|
52
|
+
margin-left: $gridGutterWidth;
|
53
|
+
}
|
54
|
+
|
55
|
+
&:first-child {
|
56
|
+
margin-left: 0;
|
57
|
+
}
|
58
|
+
|
59
|
+
//&:last-child {
|
60
|
+
// @include clearfix();
|
61
|
+
//}
|
62
|
+
}
|
63
|
+
|
64
|
+
@include grid-generate-column($gridFluid, $gridColumns, $gridColumnWidth, $gridGutterWidth);
|
65
|
+
}
|
66
|
+
|
67
|
+
// base mixins
|
68
|
+
@mixin layout($gridFluid) {
|
69
|
+
@if $gridFluid == true {
|
70
|
+
width: 100%;
|
71
|
+
} @else {
|
72
|
+
width: $gridRowWidth;
|
73
|
+
margin-left: auto;
|
74
|
+
margin-right: auto;
|
75
|
+
}
|
76
|
+
@include clearfix();
|
77
|
+
}
|
78
|
+
|
79
|
+
@mixin grid-generate-column($gridFluid, $gridColumns, $gridColumnWidth, $gridGutterWidth) {
|
80
|
+
@while $gridColumns > 0 {
|
81
|
+
.column#{$gridColumns} {
|
82
|
+
@extend .column;
|
83
|
+
}
|
84
|
+
.column#{$gridColumns} {
|
85
|
+
@if $gridFluid == true {
|
86
|
+
@include grid-fluid-column($gridColumns, $gridColumnWidth, $gridGutterWidth);
|
87
|
+
} @else {
|
88
|
+
@include grid-column($gridColumns, $gridColumnWidth, $gridGutterWidth);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
$gridColumns: $gridColumns - 1;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
@mixin grid-column($gridColumns, $gridColumnWidth, $gridGutterWidth) {
|
96
|
+
width: ($gridColumnWidth * $gridColumns) + ($gridGutterWidth * ($gridColumns - 1));
|
97
|
+
}
|
98
|
+
|
99
|
+
@mixin grid-fluid-column($gridColumns, $gridColumnWidth, $gridGutterWidth) {
|
100
|
+
width: ($gridColumnWidth * $gridColumns) + ($gridGutterWidth * ($gridColumns - 1));
|
101
|
+
*width: ($gridColumnWidth * $gridColumns) + ($gridGutterWidth * ($gridColumns - 1)) - (.5 / $gridRowWidth * 100px * 1%);
|
102
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
@mixin respond($media){
|
2
|
+
@if $media == smart {
|
3
|
+
// Smartphones (portrait and landscape)
|
4
|
+
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { @content; }
|
5
|
+
} @else if $media == smart-landscape {
|
6
|
+
// Smartphones (landscape)
|
7
|
+
@media only screen and (min-width: 321px) { @content; }
|
8
|
+
} @else if $media == smart-portait {
|
9
|
+
// Smartphones (portrait)
|
10
|
+
@media only screen and (max-width: 320px) { @content; }
|
11
|
+
} @else if $media == ipad {
|
12
|
+
// iPads (portrait and landscape)
|
13
|
+
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { @content; }
|
14
|
+
} @else if $media == ipad-landscape {
|
15
|
+
// iPads (landscape)
|
16
|
+
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation : landscape) { @content; }
|
17
|
+
} @else if $media == ipad-portait {
|
18
|
+
// iPads (portrait)
|
19
|
+
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation : portrait) { @content; }
|
20
|
+
} @else if $media == desktop {
|
21
|
+
// Desktops and laptops
|
22
|
+
@media only screen and (min-width: 1224px) { @content; }
|
23
|
+
} @else if $media == large {
|
24
|
+
// Large screens
|
25
|
+
@media only screen and (min-width: 1824px) { @content; }
|
26
|
+
} @else if $media == iphone4 {
|
27
|
+
// iPhone 4
|
28
|
+
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { @content; }
|
29
|
+
} @else if $media == normal {
|
30
|
+
@media only screen and (min-width: 959px) { @content; }
|
31
|
+
} @else if $media == medium {
|
32
|
+
@media only screen and (min-width: 479px) { @content; }
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
//deprecated
|
@@ -0,0 +1,94 @@
|
|
1
|
+
@import "compass/css3";
|
2
|
+
|
3
|
+
// Add percentage of white to a color
|
4
|
+
@function tint($color, $percent){
|
5
|
+
@return mix(white, $color, $percent);
|
6
|
+
}
|
7
|
+
|
8
|
+
// Add percentage of black to a color
|
9
|
+
@function shade($color, $percent){
|
10
|
+
@return mix(black, $color, $percent);
|
11
|
+
}
|
12
|
+
|
13
|
+
// Convert px to em
|
14
|
+
@function pxtoem($target, $context){
|
15
|
+
@return ($target/$context)+0em;
|
16
|
+
}
|
17
|
+
// Convert em to px
|
18
|
+
@function emtopx($target, $context){
|
19
|
+
@return ($target*$context)+0px;
|
20
|
+
}
|
21
|
+
|
22
|
+
@mixin noOuterDimensions {
|
23
|
+
margin: 0;
|
24
|
+
border: 0 none;
|
25
|
+
outline: 0 none;
|
26
|
+
padding: 0;
|
27
|
+
}
|
28
|
+
|
29
|
+
@mixin resetList($display: block) {
|
30
|
+
@include noOuterDimensions;
|
31
|
+
display: $display;
|
32
|
+
list-style: none;
|
33
|
+
}
|
34
|
+
|
35
|
+
@mixin setBackground($color, $size: 1px, $style: solid) {
|
36
|
+
@if $color == none {
|
37
|
+
background-color: transparent;
|
38
|
+
border: 0;
|
39
|
+
} @else {
|
40
|
+
background-color: $color;
|
41
|
+
border: $size $style darken($color,6%);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
@mixin gradient($startColor, $stopColor) {
|
46
|
+
@include background-image(linear-gradient(color-stops($startColor, $stopColor)));
|
47
|
+
}
|
48
|
+
|
49
|
+
@mixin mopacity($opacity, $hover_opacity: false) {
|
50
|
+
opacity: $opacity;
|
51
|
+
-moz-opacity: $opacity;
|
52
|
+
$opacity: $opacity * 100;
|
53
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=#{$opacity})";
|
54
|
+
filter: "alpha(opacity=#{$opacity})";
|
55
|
+
@if $hover_opacity {
|
56
|
+
@include mopacity-hover($hover_opacity);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
@mixin mopacity-hover($opacity) {
|
61
|
+
&:hover {
|
62
|
+
@include opacity($opacity)
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
@mixin reset-fonts() {
|
67
|
+
font-weight: inherit;
|
68
|
+
font-style: inherit;
|
69
|
+
font-size: 100%;
|
70
|
+
font-family: inherit;
|
71
|
+
}
|
72
|
+
|
73
|
+
@mixin reset-spacing() {
|
74
|
+
margin: 0;
|
75
|
+
padding: 0;
|
76
|
+
}
|
77
|
+
|
78
|
+
// Clearfix
|
79
|
+
// --------
|
80
|
+
// For clearing floats like a boss h5bp.com/q
|
81
|
+
@mixin clearfix {
|
82
|
+
*zoom: 1;
|
83
|
+
&:before,
|
84
|
+
&:after {
|
85
|
+
display: table;
|
86
|
+
content: "";
|
87
|
+
// Fixes Opera/contenteditable bug:
|
88
|
+
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
|
89
|
+
line-height: 0;
|
90
|
+
}
|
91
|
+
&:after {
|
92
|
+
clear: both;
|
93
|
+
}
|
94
|
+
}
|