material-sass 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. data/.gitignore +22 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +59 -0
  5. data/Rakefile +2 -0
  6. data/app/assets/fonts/FontAwesome.otf +0 -0
  7. data/app/assets/fonts/MaterialDesignIcon.eot +0 -0
  8. data/app/assets/fonts/MaterialDesignIcon.svg +767 -0
  9. data/app/assets/fonts/MaterialDesignIcon.ttf +0 -0
  10. data/app/assets/fonts/MaterialDesignIcon.woff +0 -0
  11. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  12. data/app/assets/fonts/fontawesome-webfont.svg +565 -0
  13. data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
  14. data/app/assets/fonts/fontawesome-webfont.woff +0 -0
  15. data/app/assets/fonts/fontawesome-webfont.woff2 +0 -0
  16. data/app/assets/javascripts/material-sprockets.js +1 -0
  17. data/app/assets/javascripts/material.js +403 -0
  18. data/app/assets/javascripts/material/_.js +11 -0
  19. data/app/assets/javascripts/material/btn.js +11 -0
  20. data/app/assets/javascripts/material/content.js +45 -0
  21. data/app/assets/javascripts/material/datepicker.js +21 -0
  22. data/app/assets/javascripts/material/dropdown.js +15 -0
  23. data/app/assets/javascripts/material/esc.js +10 -0
  24. data/app/assets/javascripts/material/footer.js +4 -0
  25. data/app/assets/javascripts/material/form-adv.js +65 -0
  26. data/app/assets/javascripts/material/header.js +17 -0
  27. data/app/assets/javascripts/material/menu.js +39 -0
  28. data/app/assets/javascripts/material/sortable.js +10 -0
  29. data/app/assets/javascripts/material/tab.js +31 -0
  30. data/app/assets/javascripts/material/tile.js +43 -0
  31. data/app/assets/javascripts/material/toast.js +68 -0
  32. data/app/assets/javascripts/material/winresize.js +13 -0
  33. data/app/assets/stylesheets/material.scss +3 -0
  34. data/app/assets/stylesheets/material/_addon.scss +2 -0
  35. data/app/assets/stylesheets/material/_code.scss +54 -0
  36. data/app/assets/stylesheets/material/_element.scss +15 -0
  37. data/app/assets/stylesheets/material/_grid.scss +83 -0
  38. data/app/assets/stylesheets/material/_mixin.scss +4 -0
  39. data/app/assets/stylesheets/material/_reset.scss +403 -0
  40. data/app/assets/stylesheets/material/_theme.scss +4 -0
  41. data/app/assets/stylesheets/material/_utilitise.scss +252 -0
  42. data/app/assets/stylesheets/material/_variable-color.scss +6 -0
  43. data/app/assets/stylesheets/material/_variable.scss +116 -0
  44. data/app/assets/stylesheets/material/addon/_font-awesome.scss +18 -0
  45. data/app/assets/stylesheets/material/addon/_material-design-icon.scss +3053 -0
  46. data/app/assets/stylesheets/material/addon/font-awesome/_animated.scss +33 -0
  47. data/app/assets/stylesheets/material/addon/font-awesome/_bordered-pulled.scss +11 -0
  48. data/app/assets/stylesheets/material/addon/font-awesome/_core.scss +10 -0
  49. data/app/assets/stylesheets/material/addon/font-awesome/_fixed-width.scss +5 -0
  50. data/app/assets/stylesheets/material/addon/font-awesome/_flipped-rotated.scss +29 -0
  51. data/app/assets/stylesheets/material/addon/font-awesome/_icon.scss +593 -0
  52. data/app/assets/stylesheets/material/addon/font-awesome/_icons.scss +593 -0
  53. data/app/assets/stylesheets/material/addon/font-awesome/_larger.scss +22 -0
  54. data/app/assets/stylesheets/material/addon/font-awesome/_list.scss +21 -0
  55. data/app/assets/stylesheets/material/addon/font-awesome/_mixins.scss +25 -0
  56. data/app/assets/stylesheets/material/addon/font-awesome/_path.scss +12 -0
  57. data/app/assets/stylesheets/material/addon/font-awesome/_stacked.scss +29 -0
  58. data/app/assets/stylesheets/material/addon/font-awesome/_variable.scss +601 -0
  59. data/app/assets/stylesheets/material/addon/font-awesome/_variables.scss +602 -0
  60. data/app/assets/stylesheets/material/base.scss +16 -0
  61. data/app/assets/stylesheets/material/element/_avatar.scss +63 -0
  62. data/app/assets/stylesheets/material/element/_button-float.scss +145 -0
  63. data/app/assets/stylesheets/material/element/_button.scss +131 -0
  64. data/app/assets/stylesheets/material/element/_card.scss +203 -0
  65. data/app/assets/stylesheets/material/element/_dropdown.scss +116 -0
  66. data/app/assets/stylesheets/material/element/_form-adv-datepicker.scss +265 -0
  67. data/app/assets/stylesheets/material/element/_form-adv.scss +277 -0
  68. data/app/assets/stylesheets/material/element/_form.scss +226 -0
  69. data/app/assets/stylesheets/material/element/_modal.scss +121 -0
  70. data/app/assets/stylesheets/material/element/_nav.scss +40 -0
  71. data/app/assets/stylesheets/material/element/_sortable.scss +8 -0
  72. data/app/assets/stylesheets/material/element/_tab.scss +71 -0
  73. data/app/assets/stylesheets/material/element/_table.scss +77 -0
  74. data/app/assets/stylesheets/material/element/_tile.scss +154 -0
  75. data/app/assets/stylesheets/material/element/_toast.scss +61 -0
  76. data/app/assets/stylesheets/material/mixin/_css3.scss +52 -0
  77. data/app/assets/stylesheets/material/mixin/_grid.scss +82 -0
  78. data/app/assets/stylesheets/material/mixin/_responsive.scss +32 -0
  79. data/app/assets/stylesheets/material/mixin/_utilitise.scss +35 -0
  80. data/app/assets/stylesheets/material/project.scss +2 -0
  81. data/app/assets/stylesheets/material/theme/_content.scss +79 -0
  82. data/app/assets/stylesheets/material/theme/_footer.scss +23 -0
  83. data/app/assets/stylesheets/material/theme/_header.scss +103 -0
  84. data/app/assets/stylesheets/material/theme/_menu.scss +221 -0
  85. data/lib/material-sass.rb +26 -0
  86. data/lib/material-sass/engine.rb +12 -0
  87. data/lib/material-sass/version.rb +5 -0
  88. data/material-sass.gemspec +23 -0
  89. metadata +166 -0
@@ -0,0 +1,116 @@
1
+ .dropdown {
2
+ position: relative;
3
+ &.open {
4
+ z-index: ($content-base + 1);
5
+ }
6
+ [data-toggle="dropdown"] {
7
+ cursor: pointer;
8
+ }
9
+ }
10
+
11
+ .dropdown-menu {
12
+ background-color: $white;
13
+ border: 1px solid $black-hint;
14
+ border-radius: 0 2px 2px 2px;
15
+ display: none;
16
+ list-style: none;
17
+ margin: -1px 0 0 !important;
18
+ min-width: 100%;
19
+ padding-top: ($line-height / 2) !important;
20
+ padding-right: 0;
21
+ padding-bottom: ($line-height / 2) !important;
22
+ padding-left: 0;
23
+ position: absolute;
24
+ top: 100%;
25
+ left: 0;
26
+ @include box-shadow(0 5px 10px rgba(0, 0, 0, 0.3), 0 10px 30px rgba(0, 0, 0, 0.15));
27
+ .dropdown.open & {
28
+ display: block;
29
+ }
30
+ &.dropdown-menu-right,
31
+ .nav.pull-right & {
32
+ border-radius: 2px 0 2px 2px;
33
+ // position
34
+ right: 0;
35
+ left: auto;
36
+ }
37
+ a,
38
+ .a {
39
+ color: $black-text;
40
+ display: block;
41
+ padding: ($line-height / 2) $grid-gutter;
42
+ overflow: hidden;
43
+ position: relative;
44
+ text-align: left;
45
+ text-overflow: ellipsis;
46
+ white-space: nowrap;
47
+ &:focus,
48
+ &:hover {
49
+ background-color: $white-bg;
50
+ text-decoration: none;
51
+ }
52
+ }
53
+ .active > a,
54
+ .active > .a {
55
+ background-color: $white-bg;
56
+ }
57
+ li {
58
+ display: block;
59
+ position: relative;
60
+ }
61
+ }
62
+
63
+ .dropdown-toggle {
64
+ position: relative;
65
+ z-index: 1;
66
+ .dropdown.open & {
67
+ background-color: $white;
68
+ border: 1px solid $black-hint;
69
+ border-bottom: 0;
70
+ border-radius: 2px 2px 0 0;
71
+ padding: ($line-height / 2 - 1) ($grid-gutter - 1) ($line-height / 2);
72
+ .content-nav &,
73
+ .header & {
74
+ border-top: 0;
75
+ border-radius: 0;
76
+ padding-top: ($line-height / 2);
77
+ }
78
+ }
79
+ }
80
+
81
+ .dropdown-toggle-btn {
82
+ position: relative;
83
+ z-index: 1;
84
+ .dropdown.open & {
85
+ background-color: $white;
86
+ border-color: $black-hint;
87
+ border-bottom-color: transparent;
88
+ border-radius: 2px 2px 0 0;
89
+ color: $black-text;
90
+ @include box-shadow(none);
91
+ &:after,
92
+ &:before {
93
+ background-color: $black-hint;
94
+ content: '';
95
+ display: block;
96
+ height: 1px;
97
+ position: absolute;
98
+ bottom: -1px;
99
+ width: 1px;
100
+ }
101
+ &:after {
102
+ // position
103
+ right: -1px;
104
+ }
105
+ &:before {
106
+ // position
107
+ left: -1px;
108
+ }
109
+ }
110
+ }
111
+
112
+ .dropdown-wrap {
113
+ margin-top: $line-height;
114
+ margin-bottom: $line-height;
115
+ @include clearfix();
116
+ }
@@ -0,0 +1,265 @@
1
+ .picker {
2
+ position: absolute;
3
+ z-index: $top-base;
4
+ @include user-select(none);
5
+ }
6
+
7
+ // datepicker
8
+ .picker__input {
9
+ border-bottom-style: solid !important;
10
+ color: $black-text !important;
11
+ cursor: text !important;
12
+ &.picker__input--active {
13
+ border-bottom-color: $link-color;
14
+ border-bottom-width: 2px;
15
+ }
16
+ }
17
+
18
+ // datepicker element
19
+ .picker__box {
20
+ background-clip: padding-box;
21
+ background-color: $white;
22
+ border-radius: 4px;
23
+ outline: 0;
24
+ overflow: hidden;
25
+ vertical-align: middle;
26
+ @include box-shadow(0 1px 30px rgba(0, 0, 0, 0.5));
27
+ @include clearfix();
28
+ }
29
+
30
+ // calendar
31
+ .picker__day {
32
+ border-radius: 50%;
33
+ height: ($line-height * 1.5);
34
+ margin: ($line-height / 4);
35
+ padding: ($line-height / 4) 0;
36
+ width: ($line-height * 1.5);
37
+ &:focus,
38
+ &:hover {
39
+ color: $link-color;
40
+ cursor: pointer;
41
+ }
42
+ &.picker__day--selected {
43
+ background-color: $brand-color;
44
+ color: $white !important;
45
+ }
46
+ &.picker__day--today {
47
+ color: $brand-color;
48
+ }
49
+ }
50
+
51
+ .picker__day--outfocus {
52
+ color: $white-bg-dark;
53
+ }
54
+
55
+ .picker__table {
56
+ border-collapse: collapse;
57
+ border-spacing: 0;
58
+ margin: 0 ($grid-gutter / 2);
59
+ table-layout: fixed;
60
+ // 992
61
+ @include responsive(md) {
62
+ float: left;
63
+ margin: 0;
64
+ width: 50%;
65
+ }
66
+ }
67
+
68
+ .picker__table td,
69
+ .picker__table th {
70
+ border: 0;
71
+ font-size: floor($font-size * 0.9);
72
+ line-height: $line-height;
73
+ margin: 0;
74
+ min-width: ($line-height * 2);
75
+ padding: 0;
76
+ text-align: center;
77
+ vertical-align: middle;
78
+ }
79
+
80
+ .picker__weekday {
81
+ color: $black-hint;
82
+ font-weight: 300;
83
+ }
84
+
85
+ // footer
86
+ .picker__footer {
87
+ clear: both;
88
+ padding: ($line-height / 2) ($grid-gutter / 2);
89
+ text-align: right;
90
+ button {
91
+ margin-left: ($grid-gutter / 2);
92
+ &:first-child {
93
+ margin-left: 0;
94
+ }
95
+ }
96
+ }
97
+
98
+ // header
99
+ .picker__header {
100
+ margin: ($line-height / 2) ($grid-gutter / 2);
101
+ position: relative;
102
+ // 992
103
+ @include responsive(md) {
104
+ float: left;
105
+ margin-top: ($line-height / 4);
106
+ margin-right: 0;
107
+ margin-left: 0;
108
+ width: 50%;
109
+ }
110
+ }
111
+
112
+ .picker__month,
113
+ .picker__year {
114
+ display: inline;
115
+ margin-left: $grid-gutter;
116
+ &:first-child {
117
+ margin-left: 0;
118
+ }
119
+ }
120
+
121
+ .picker__nav--next,
122
+ .picker__nav--prev {
123
+ cursor: pointer;
124
+ line-height: $line-height;
125
+ margin-top: ($line-height / -2);
126
+ padding: 0 $grid-gutter;
127
+ position: absolute;
128
+ top: 50%;
129
+ &:focus,
130
+ &:hover {
131
+ color: $link-color;
132
+ }
133
+ }
134
+
135
+ .picker__nav--next {
136
+ // position
137
+ right: 0;
138
+ }
139
+
140
+ .picker__nav--prev {
141
+ // position
142
+ left: 0;
143
+ }
144
+
145
+ .picker__select--month,
146
+ .picker__select--year {
147
+ @extend .form-control;
148
+ border-bottom: 0;
149
+ display: inline-block;
150
+ height: $line-height;
151
+ margin-left: $grid-gutter;
152
+ padding-top: 0;
153
+ padding-bottom: 0;
154
+ width: auto;
155
+ &:first-child {
156
+ margin-left: 0;
157
+ }
158
+ }
159
+
160
+ @media only screen and (-webkit-min-device-pixel-ratio: 0) {
161
+ select.picker__select--month,
162
+ select.picker__select--year {
163
+ background-position: 100% 50%;
164
+ }
165
+ }
166
+
167
+ // top date
168
+ .picker__date-display {
169
+ background-color: $brand-color;
170
+ border-radius: 4px 4px 0 0;
171
+ color: $white;
172
+ // 992
173
+ @include responsive(md) {
174
+ border-radius: 4px 0 0 0;
175
+ float: left;
176
+ width: 50%;
177
+ }
178
+ }
179
+
180
+ .picker__day-display {
181
+ font-size: $font-size-lg;
182
+ line-height: $line-height-lg;
183
+ padding: 0 $grid-gutter;
184
+ }
185
+
186
+ .picker__month-display {
187
+ font-size: $font-size-h3;
188
+ font-weight: 300;
189
+ line-height: $line-height-h3;
190
+ padding: ($line-height / 2) $grid-gutter 0;
191
+ text-transform: uppercase;
192
+ // 992
193
+ @include responsive(md) {
194
+ padding-top: ($line-height * 2);
195
+ padding-bottom: $line-height;
196
+ }
197
+ }
198
+
199
+ .picker__weekday-display {
200
+ background-color: $brand-color-dark-m;
201
+ border-radius: 4px 4px 0 0;
202
+ padding: ($line-height / 4) $grid-gutter;
203
+ }
204
+
205
+ .picker__year-display {
206
+ color: $white-bg;
207
+ font-size: $font-size-h3;
208
+ font-weight: 300;
209
+ line-height: $line-height-h3;
210
+ padding: 0 $grid-gutter ($line-height / 2);
211
+ // 992
212
+ @include responsive(md) {
213
+ padding-top: $line-height;
214
+ padding-bottom: ($line-height * 2);
215
+ }
216
+ }
217
+
218
+ // frame & holder
219
+ .picker__frame {
220
+ display: inline-block;
221
+ margin: ($line-height * 2) auto;
222
+ max-width: ($grid-gutter + $line-height * 14);
223
+ vertical-align: middle;
224
+ white-space: normal;
225
+ @include transform(scale(0, 0));
226
+ -webkit-transition: -webkit-transform 0.3s $timing 0s;
227
+ transition: transform 0.3s $timing 0s;
228
+ .picker--opened & {
229
+ @include transform(scale(1, 1));
230
+ }
231
+ // 992
232
+ @include responsive(md) {
233
+ max-width: (($grid-gutter + $line-height * 14) * 2);
234
+ }
235
+ }
236
+
237
+ .picker__holder {
238
+ overflow-x: hidden;
239
+ overflow-y: auto;
240
+ position: fixed;
241
+ top: 100%;
242
+ right: 0;
243
+ bottom: 0;
244
+ left: 0;
245
+ text-align: center;
246
+ white-space: nowrap;
247
+ width: 100%;
248
+ -webkit-backface-visibility: hidden;
249
+ -webkit-overflow-scrolling: touch;
250
+ -ms-overflow-style: -ms-autohiding-scrollbar;
251
+ @include transition(background-color 0.3s $timing, top 0s linear 0.3s);
252
+ &:after {
253
+ content: '';
254
+ display: inline-block;
255
+ height: 100%;
256
+ vertical-align: middle;
257
+ width: 1px;
258
+ }
259
+ .picker--opened & {
260
+ background-color: rgba(0, 0, 0, 0.5);
261
+ // position
262
+ top: 0;
263
+ @include transition(background-color 0.3s $timing, top 0s linear 0s);
264
+ }
265
+ }
@@ -0,0 +1,277 @@
1
+ // checkbox & radio
2
+ .checkbox-adv {
3
+ font-size: $font-size;
4
+ line-height: $line-height;
5
+ [class^="circle"] {
6
+ display: block;
7
+ height: $font-size;
8
+ position: absolute;
9
+ top: (($line-height - $font-size) / 2 - 1);
10
+ left: 0;
11
+ width: $font-size;
12
+ }
13
+ .circle {
14
+ border: 2px solid $black-sec;
15
+ @include transition(border-color 0.3s $timing);
16
+ }
17
+ &.disabled,
18
+ fieldset[disabled] & {
19
+ .circle {
20
+ border-color: $black-hint !important;
21
+ }
22
+ }
23
+ input.access-hide:focus ~ .circle {
24
+ border-color: $black-text;
25
+ }
26
+ input.access-hide:checked ~ .circle {
27
+ border-color: $brand-color;
28
+ }
29
+ .circle-check {
30
+ background-color: transparent;
31
+ @include transform(scale(0));
32
+ @include transition(background-color 0.3s $timing, transform 0.3s $timing);
33
+ &:after {
34
+ background-color: $brand-color;
35
+ border-radius: 50%;
36
+ content: '';
37
+ display: block;
38
+ height: ($font-size * 5);
39
+ position: absolute;
40
+ top: ($font-size * -2);
41
+ left: ($font-size * -2);
42
+ width: ($font-size * 5);
43
+ @include opacity(0);
44
+ }
45
+ }
46
+ &.disabled,
47
+ fieldset[disabled] & {
48
+ .circle-check:after {
49
+ background-color: $black-hint;
50
+ }
51
+ }
52
+ input.access-hide:checked ~ .circle-check {
53
+ @include transform(scale(0.5));
54
+ &:after {
55
+ @include animation(circle-check 0.6s);
56
+ }
57
+ }
58
+ .circle-icon {
59
+ background-color: transparent;
60
+ color: transparent;
61
+ @include transform(scale(0.5));
62
+ @include transition(background-color 0.3s $timing, transform 0.3s $timing);
63
+ }
64
+ input.access-hide:checked ~ .circle-icon {
65
+ background-color: $brand-color;
66
+ color: $white;
67
+ @include transform(scale(1));
68
+ }
69
+ &.disabled,
70
+ fieldset[disabled] & {
71
+ input.access-hide:checked ~ .circle-icon {
72
+ background-color: $black-hint;
73
+ }
74
+ }
75
+ }
76
+
77
+ .radio-adv {
78
+ @extend .checkbox-adv;
79
+ [class^="circle"] {
80
+ border-radius: 50%;
81
+ }
82
+ input.access-hide:checked ~ .circle-check {
83
+ background-color: $brand-color;
84
+ }
85
+ &.disabled,
86
+ fieldset[disabled] & {
87
+ input.access-hide:checked ~ .circle-check {
88
+ background-color: $black-hint;
89
+ }
90
+ }
91
+ }
92
+
93
+ // floating label
94
+ .floating-label {
95
+ color: $black-hint;
96
+ cursor: text;
97
+ font-size: $font-size;
98
+ line-height: 1;
99
+ margin: 0;
100
+ padding: 0;
101
+ position: absolute;
102
+ top: (($input-height - $font-size) / 2);
103
+ left: 0;
104
+ @include transition(color 0.3s $timing, font-size 0.3s $timing, top 0.3s $timing);
105
+ .form-group-label [class*="col-"] & {
106
+ // position
107
+ left: $grid-gutter;
108
+ }
109
+ .form-group-label.control-focus &,
110
+ .form-group-label.control-highlight & {
111
+ font-size: ($input-height - $line-height);
112
+ // position
113
+ top: (($input-height - $line-height) / -2);
114
+ }
115
+ .form-group-label.control-focus & {
116
+ color: $link-color;
117
+ }
118
+ .form-group-label.form-group-alt & {
119
+ color: $brand-color;
120
+ }
121
+ .form-group-label.form-group-blue & {
122
+ color: $palette-blue;
123
+ }
124
+ .form-group-label.form-group-green & {
125
+ color: $palette-green;
126
+ }
127
+ .form-group-label.form-group-purple & {
128
+ color: $palette-purple;
129
+ }
130
+ .form-group-label.form-group-red & {
131
+ color: $palette-red;
132
+ }
133
+ .form-group-label.form-group-yellow & {
134
+ color: $palette-yellow;
135
+ }
136
+ }
137
+
138
+ .form-group-label {
139
+ position: relative;
140
+ .form-control {
141
+ @include placeholder(transparent);
142
+ }
143
+ }
144
+
145
+ // icon label
146
+ .form-icon-label {
147
+ cursor: pointer;
148
+ display: block;
149
+ padding: (($input-height - $line-height) / 2) 0;
150
+ .form-group-icon.control-focus & {
151
+ color: $link-color;
152
+ }
153
+ .form-group-icon.form-group-blue & {
154
+ color: $palette-blue;
155
+ }
156
+ .form-group-icon.form-group-green & {
157
+ color: $palette-green;
158
+ }
159
+ .form-group-icon.form-group-purple & {
160
+ color: $palette-purple;
161
+ }
162
+ .form-group-icon.form-group-red & {
163
+ color: $palette-red;
164
+ }
165
+ .form-group-icon.form-group-yellow & {
166
+ color: $palette-yellow;
167
+ }
168
+ }
169
+
170
+ // switch
171
+ .switch {
172
+ position: relative;
173
+ &.checkbox,
174
+ &.radio {
175
+ label {
176
+ padding-left: ($font-size-h4 + ($font-size * 5 - $font-size-h4) / 4 + $grid-gutter / 2);
177
+ }
178
+ }
179
+ }
180
+
181
+ .switch-toggle {
182
+ background-color: $black-hint;
183
+ border-radius: ($font-size-h6 / 2);
184
+ cursor: pointer;
185
+ display: inline-block;
186
+ height: $font-size-h6;
187
+ margin-right: ($grid-gutter / 2);
188
+ position: relative;
189
+ vertical-align: middle;
190
+ width: ($font-size-h4 + ($font-size * 5 - $font-size-h4) / 4);
191
+ @include transition(background-color 0.3s $timing);
192
+ &:after {
193
+ background-color: $white;
194
+ border-radius: 50%;
195
+ content: '';
196
+ display: block;
197
+ height: $font-size-h4;
198
+ position: absolute;
199
+ top:(($font-size-h4 - $font-size-h6) / -2);
200
+ left: 0;
201
+ width: $font-size-h4;
202
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
203
+ @include transition(background-color 0.3s $timing, box-shadow 0.15s $timing, left 0.3s $timing);
204
+ }
205
+ input[type="checkbox"]:checked + &,
206
+ input[type="radio"]:checked + & {
207
+ background-color: $brand-color-light-m;
208
+ &:after {
209
+ background-color: $brand-color;
210
+ // position
211
+ left: (($font-size * 5 - $font-size-h4) / 4);
212
+ }
213
+ }
214
+ .checkbox.switch &,
215
+ .radio.switch & {
216
+ position: absolute;
217
+ top: (($line-height - $font-size-h6) / 2);
218
+ left: 0;
219
+ }
220
+ .no-touch & {
221
+ &:active:after {
222
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 (($font-size * 5 - $font-size-h4) / 4) rgba(0, 0, 0, 0.1));
223
+ }
224
+ }
225
+ .no-touch input[type="checkbox"]:checked + &,
226
+ .no-touch input[type="radio"]:checked + & {
227
+ &:active:after {
228
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 (($font-size * 5 - $font-size-h4) / 4) rgba(red($brand-color), green($brand-color), blue($brand-color), 0.25));
229
+ }
230
+ }
231
+ .touch & {
232
+ @include transition(background-color 0.3s $timing 0.15s);
233
+ &:after {
234
+ @include transition(background-color 0.3s $timing 0.15s, box-shadow 0.15s $timing, left 0.3s $timing 0.15s);
235
+ }
236
+ &.switch-toggle-on:after {
237
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 (($font-size * 5 - $font-size-h4) / 4) rgba(red($brand-color), green($brand-color), blue($brand-color), 0.25));
238
+ }
239
+ }
240
+ .touch input[type="checkbox"]:checked + &,
241
+ .touch input[type="radio"]:checked + & {
242
+ &.switch-toggle-on:after {
243
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 (($font-size * 5 - $font-size-h4) / 4) rgba(0, 0, 0, 0.1));
244
+ }
245
+ }
246
+ }
247
+
248
+ // textarea autosize
249
+ .textarea-autosize {
250
+ min-height: $input-height;
251
+ overflow-x: hidden;
252
+ }
253
+
254
+ // ###
255
+ @-webkit-keyframes circle-check {
256
+ 0% {
257
+ opacity: 0;
258
+ }
259
+ 25% {
260
+ opacity: 0.25;
261
+ }
262
+ 100% {
263
+ opacity: 0;
264
+ }
265
+ }
266
+
267
+ @keyframes circle-check {
268
+ 0% {
269
+ opacity: 0;
270
+ }
271
+ 25% {
272
+ opacity: 0.25;
273
+ }
274
+ 100% {
275
+ opacity: 0;
276
+ }
277
+ }