administrate-bootstrap-theme 0.1.0 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -11
  3. data/Rakefile +10 -14
  4. data/app/assets/config/administrate-bootstrap-theme_manifest.js +1 -0
  5. data/app/assets/javascripts/administrate-bootstrap-theme/theme.js +2 -0
  6. data/app/assets/stylesheets/administrate-bootstrap-theme/_base.scss +17 -1
  7. data/app/assets/stylesheets/administrate-bootstrap-theme/components/_content_body.scss +17 -3
  8. data/app/assets/stylesheets/administrate-bootstrap-theme/components/_form.scss +52 -16
  9. data/app/assets/stylesheets/administrate-bootstrap-theme/theme.scss +12 -0
  10. data/lib/administrate-bootstrap-theme/engine.rb +2 -0
  11. data/lib/administrate-bootstrap-theme/version.rb +1 -1
  12. data/node_modules/bootstrap/js/src/alert.js +141 -0
  13. data/node_modules/bootstrap/js/src/base-component.js +46 -0
  14. data/node_modules/bootstrap/js/src/button.js +95 -0
  15. data/node_modules/bootstrap/js/src/carousel.js +624 -0
  16. data/node_modules/bootstrap/js/src/collapse.js +410 -0
  17. data/node_modules/bootstrap/js/src/dom/data.js +57 -0
  18. data/node_modules/bootstrap/js/src/dom/event-handler.js +331 -0
  19. data/node_modules/bootstrap/js/src/dom/manipulator.js +80 -0
  20. data/node_modules/bootstrap/js/src/dom/selector-engine.js +75 -0
  21. data/node_modules/bootstrap/js/src/dropdown.js +543 -0
  22. data/node_modules/bootstrap/js/src/modal.js +582 -0
  23. data/node_modules/bootstrap/js/src/offcanvas.js +279 -0
  24. data/node_modules/bootstrap/js/src/popover.js +171 -0
  25. data/node_modules/bootstrap/js/src/scrollspy.js +319 -0
  26. data/node_modules/bootstrap/js/src/tab.js +220 -0
  27. data/node_modules/bootstrap/js/src/toast.js +219 -0
  28. data/node_modules/bootstrap/js/src/tooltip.js +802 -0
  29. data/node_modules/bootstrap/js/src/util/index.js +253 -0
  30. data/node_modules/bootstrap/js/src/util/sanitizer.js +127 -0
  31. data/node_modules/bootstrap/js/src/util/scrollbar.js +70 -0
  32. data/node_modules/bootstrap/scss/_accordion.scss +116 -0
  33. data/node_modules/bootstrap/scss/_alert.scss +57 -0
  34. data/node_modules/bootstrap/scss/_badge.scss +29 -0
  35. data/node_modules/bootstrap/scss/_breadcrumb.scss +28 -0
  36. data/node_modules/bootstrap/scss/_button-group.scss +139 -0
  37. data/node_modules/bootstrap/scss/_buttons.scss +111 -0
  38. data/node_modules/bootstrap/scss/_card.scss +215 -0
  39. data/node_modules/bootstrap/scss/_carousel.scss +229 -0
  40. data/node_modules/bootstrap/scss/_close.scss +40 -0
  41. data/node_modules/bootstrap/scss/_containers.scss +41 -0
  42. data/node_modules/bootstrap/scss/_dropdown.scss +246 -0
  43. data/node_modules/bootstrap/scss/_forms.scss +9 -0
  44. data/node_modules/bootstrap/scss/_functions.scss +205 -0
  45. data/node_modules/bootstrap/scss/_grid.scss +22 -0
  46. data/node_modules/bootstrap/scss/_helpers.scss +7 -0
  47. data/node_modules/bootstrap/scss/_images.scss +42 -0
  48. data/node_modules/bootstrap/scss/_list-group.scss +174 -0
  49. data/node_modules/bootstrap/scss/_mixins.scss +41 -0
  50. data/node_modules/bootstrap/scss/_modal.scss +237 -0
  51. data/node_modules/bootstrap/scss/_nav.scss +139 -0
  52. data/node_modules/bootstrap/scss/_navbar.scss +306 -0
  53. data/node_modules/bootstrap/scss/_offcanvas.scss +77 -0
  54. data/node_modules/bootstrap/scss/_pagination.scss +64 -0
  55. data/node_modules/bootstrap/scss/_popover.scss +158 -0
  56. data/node_modules/bootstrap/scss/_progress.scss +48 -0
  57. data/node_modules/bootstrap/scss/_reboot.scss +621 -0
  58. data/node_modules/bootstrap/scss/_root.scss +16 -0
  59. data/node_modules/bootstrap/scss/_spinners.scss +69 -0
  60. data/node_modules/bootstrap/scss/_tables.scss +150 -0
  61. data/node_modules/bootstrap/scss/_toasts.scss +51 -0
  62. data/node_modules/bootstrap/scss/_tooltip.scss +115 -0
  63. data/node_modules/bootstrap/scss/_transitions.scss +21 -0
  64. data/node_modules/bootstrap/scss/_type.scss +104 -0
  65. data/node_modules/bootstrap/scss/_utilities.scss +594 -0
  66. data/node_modules/bootstrap/scss/_variables.scss +1464 -0
  67. data/node_modules/bootstrap/scss/bootstrap-grid.scss +65 -0
  68. data/node_modules/bootstrap/scss/bootstrap-reboot.scss +15 -0
  69. data/node_modules/bootstrap/scss/bootstrap-utilities.scss +18 -0
  70. data/node_modules/bootstrap/scss/bootstrap.scss +52 -0
  71. data/node_modules/bootstrap/scss/forms/_floating-labels.scss +61 -0
  72. data/node_modules/bootstrap/scss/forms/_form-check.scss +152 -0
  73. data/node_modules/bootstrap/scss/forms/_form-control.scss +219 -0
  74. data/node_modules/bootstrap/scss/forms/_form-range.scss +91 -0
  75. data/node_modules/bootstrap/scss/forms/_form-select.scss +67 -0
  76. data/node_modules/bootstrap/scss/forms/_form-text.scss +11 -0
  77. data/node_modules/bootstrap/scss/forms/_input-group.scss +121 -0
  78. data/node_modules/bootstrap/scss/forms/_labels.scss +36 -0
  79. data/node_modules/bootstrap/scss/forms/_validation.scss +12 -0
  80. data/node_modules/bootstrap/scss/helpers/_clearfix.scss +3 -0
  81. data/node_modules/bootstrap/scss/helpers/_colored-links.scss +12 -0
  82. data/node_modules/bootstrap/scss/helpers/_position.scss +30 -0
  83. data/node_modules/bootstrap/scss/helpers/_ratio.scss +26 -0
  84. data/node_modules/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  85. data/node_modules/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  86. data/node_modules/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  87. data/node_modules/bootstrap/scss/mixins/_alert.scss +11 -0
  88. data/node_modules/bootstrap/scss/mixins/_border-radius.scss +78 -0
  89. data/node_modules/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  90. data/node_modules/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  91. data/node_modules/bootstrap/scss/mixins/_buttons.scss +133 -0
  92. data/node_modules/bootstrap/scss/mixins/_caret.scss +64 -0
  93. data/node_modules/bootstrap/scss/mixins/_clearfix.scss +9 -0
  94. data/node_modules/bootstrap/scss/mixins/_container.scss +9 -0
  95. data/node_modules/bootstrap/scss/mixins/_deprecate.scss +10 -0
  96. data/node_modules/bootstrap/scss/mixins/_forms.scss +134 -0
  97. data/node_modules/bootstrap/scss/mixins/_gradients.scss +47 -0
  98. data/node_modules/bootstrap/scss/mixins/_grid.scss +120 -0
  99. data/node_modules/bootstrap/scss/mixins/_image.scss +16 -0
  100. data/node_modules/bootstrap/scss/mixins/_list-group.scss +24 -0
  101. data/node_modules/bootstrap/scss/mixins/_lists.scss +7 -0
  102. data/node_modules/bootstrap/scss/mixins/_pagination.scss +31 -0
  103. data/node_modules/bootstrap/scss/mixins/_reset-text.scss +17 -0
  104. data/node_modules/bootstrap/scss/mixins/_resize.scss +6 -0
  105. data/node_modules/bootstrap/scss/mixins/_table-variants.scss +21 -0
  106. data/node_modules/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  107. data/node_modules/bootstrap/scss/mixins/_transition.scss +26 -0
  108. data/node_modules/bootstrap/scss/mixins/_utilities.scss +68 -0
  109. data/node_modules/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  110. data/node_modules/bootstrap/scss/utilities/_api.scss +47 -0
  111. data/node_modules/bootstrap/scss/vendor/_rfs.scss +312 -0
  112. metadata +106 -19
@@ -0,0 +1,215 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .card {
6
+ position: relative;
7
+ display: flex;
8
+ flex-direction: column;
9
+ min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
10
+ height: $card-height;
11
+ word-wrap: break-word;
12
+ background-color: $card-bg;
13
+ background-clip: border-box;
14
+ border: $card-border-width solid $card-border-color;
15
+ @include border-radius($card-border-radius);
16
+
17
+ > hr {
18
+ margin-right: 0;
19
+ margin-left: 0;
20
+ }
21
+
22
+ > .list-group {
23
+ border-top: inherit;
24
+ border-bottom: inherit;
25
+
26
+ &:first-child {
27
+ border-top-width: 0;
28
+ @include border-top-radius($card-inner-border-radius);
29
+ }
30
+
31
+ &:last-child {
32
+ border-bottom-width: 0;
33
+ @include border-bottom-radius($card-inner-border-radius);
34
+ }
35
+ }
36
+
37
+ // Due to specificity of the above selector (`.card > .list-group`), we must
38
+ // use a child selector here to prevent double borders.
39
+ > .card-header + .list-group,
40
+ > .list-group + .card-footer {
41
+ border-top: 0;
42
+ }
43
+ }
44
+
45
+ .card-body {
46
+ // Enable `flex-grow: 1` for decks and groups so that card blocks take up
47
+ // as much space as possible, ensuring footers are aligned to the bottom.
48
+ flex: 1 1 auto;
49
+ padding: $card-spacer-y $card-spacer-x;
50
+ color: $card-color;
51
+ }
52
+
53
+ .card-title {
54
+ margin-bottom: $card-title-spacer-y;
55
+ }
56
+
57
+ .card-subtitle {
58
+ margin-top: -$card-title-spacer-y / 2;
59
+ margin-bottom: 0;
60
+ }
61
+
62
+ .card-text:last-child {
63
+ margin-bottom: 0;
64
+ }
65
+
66
+ .card-link {
67
+ &:hover {
68
+ text-decoration: none;
69
+ }
70
+
71
+ + .card-link {
72
+ margin-left: $card-spacer-x;
73
+ }
74
+ }
75
+
76
+ //
77
+ // Optional textual caps
78
+ //
79
+
80
+ .card-header {
81
+ padding: $card-cap-padding-y $card-cap-padding-x;
82
+ margin-bottom: 0; // Removes the default margin-bottom of <hN>
83
+ color: $card-cap-color;
84
+ background-color: $card-cap-bg;
85
+ border-bottom: $card-border-width solid $card-border-color;
86
+
87
+ &:first-child {
88
+ @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
89
+ }
90
+ }
91
+
92
+ .card-footer {
93
+ padding: $card-cap-padding-y $card-cap-padding-x;
94
+ color: $card-cap-color;
95
+ background-color: $card-cap-bg;
96
+ border-top: $card-border-width solid $card-border-color;
97
+
98
+ &:last-child {
99
+ @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
100
+ }
101
+ }
102
+
103
+
104
+ //
105
+ // Header navs
106
+ //
107
+
108
+ .card-header-tabs {
109
+ margin-right: -$card-cap-padding-x / 2;
110
+ margin-bottom: -$card-cap-padding-y;
111
+ margin-left: -$card-cap-padding-x / 2;
112
+ border-bottom: 0;
113
+
114
+ @if $nav-tabs-link-active-bg != $card-bg {
115
+ .nav-link.active {
116
+ background-color: $card-bg;
117
+ border-bottom-color: $card-bg;
118
+ }
119
+ }
120
+ }
121
+
122
+ .card-header-pills {
123
+ margin-right: -$card-cap-padding-x / 2;
124
+ margin-left: -$card-cap-padding-x / 2;
125
+ }
126
+
127
+ // Card image
128
+ .card-img-overlay {
129
+ position: absolute;
130
+ top: 0;
131
+ right: 0;
132
+ bottom: 0;
133
+ left: 0;
134
+ padding: $card-img-overlay-padding;
135
+ @include border-radius($card-inner-border-radius);
136
+ }
137
+
138
+ .card-img,
139
+ .card-img-top,
140
+ .card-img-bottom {
141
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
142
+ }
143
+
144
+ .card-img,
145
+ .card-img-top {
146
+ @include border-top-radius($card-inner-border-radius);
147
+ }
148
+
149
+ .card-img,
150
+ .card-img-bottom {
151
+ @include border-bottom-radius($card-inner-border-radius);
152
+ }
153
+
154
+
155
+ //
156
+ // Card groups
157
+ //
158
+
159
+ .card-group {
160
+ // The child selector allows nested `.card` within `.card-group`
161
+ // to display properly.
162
+ > .card {
163
+ margin-bottom: $card-group-margin;
164
+ }
165
+
166
+ @include media-breakpoint-up(sm) {
167
+ display: flex;
168
+ flex-flow: row wrap;
169
+ // The child selector allows nested `.card` within `.card-group`
170
+ // to display properly.
171
+ > .card {
172
+ // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
173
+ flex: 1 0 0%;
174
+ margin-bottom: 0;
175
+
176
+ + .card {
177
+ margin-left: 0;
178
+ border-left: 0;
179
+ }
180
+
181
+ // Handle rounded corners
182
+ @if $enable-rounded {
183
+ &:not(:last-child) {
184
+ @include border-end-radius(0);
185
+
186
+ .card-img-top,
187
+ .card-header {
188
+ // stylelint-disable-next-line property-disallowed-list
189
+ border-top-right-radius: 0;
190
+ }
191
+ .card-img-bottom,
192
+ .card-footer {
193
+ // stylelint-disable-next-line property-disallowed-list
194
+ border-bottom-right-radius: 0;
195
+ }
196
+ }
197
+
198
+ &:not(:first-child) {
199
+ @include border-start-radius(0);
200
+
201
+ .card-img-top,
202
+ .card-header {
203
+ // stylelint-disable-next-line property-disallowed-list
204
+ border-top-left-radius: 0;
205
+ }
206
+ .card-img-bottom,
207
+ .card-footer {
208
+ // stylelint-disable-next-line property-disallowed-list
209
+ border-bottom-left-radius: 0;
210
+ }
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,229 @@
1
+ // Notes on the classes:
2
+ //
3
+ // 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)
4
+ // even when their scroll action started on a carousel, but for compatibility (with Firefox)
5
+ // we're preventing all actions instead
6
+ // 2. The .carousel-item-start and .carousel-item-end is used to indicate where
7
+ // the active slide is heading.
8
+ // 3. .active.carousel-item is the current slide.
9
+ // 4. .active.carousel-item-start and .active.carousel-item-end is the current
10
+ // slide in its in-transition state. Only one of these occurs at a time.
11
+ // 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end
12
+ // is the upcoming slide in transition.
13
+
14
+ .carousel {
15
+ position: relative;
16
+ }
17
+
18
+ .carousel.pointer-event {
19
+ touch-action: pan-y;
20
+ }
21
+
22
+ .carousel-inner {
23
+ position: relative;
24
+ width: 100%;
25
+ overflow: hidden;
26
+ @include clearfix();
27
+ }
28
+
29
+ .carousel-item {
30
+ position: relative;
31
+ display: none;
32
+ float: left;
33
+ width: 100%;
34
+ margin-right: -100%;
35
+ backface-visibility: hidden;
36
+ @include transition($carousel-transition);
37
+ }
38
+
39
+ .carousel-item.active,
40
+ .carousel-item-next,
41
+ .carousel-item-prev {
42
+ display: block;
43
+ }
44
+
45
+ /* rtl:begin:ignore */
46
+ .carousel-item-next:not(.carousel-item-start),
47
+ .active.carousel-item-end {
48
+ transform: translateX(100%);
49
+ }
50
+
51
+ .carousel-item-prev:not(.carousel-item-end),
52
+ .active.carousel-item-start {
53
+ transform: translateX(-100%);
54
+ }
55
+
56
+ /* rtl:end:ignore */
57
+
58
+
59
+ //
60
+ // Alternate transitions
61
+ //
62
+
63
+ .carousel-fade {
64
+ .carousel-item {
65
+ opacity: 0;
66
+ transition-property: opacity;
67
+ transform: none;
68
+ }
69
+
70
+ .carousel-item.active,
71
+ .carousel-item-next.carousel-item-start,
72
+ .carousel-item-prev.carousel-item-end {
73
+ z-index: 1;
74
+ opacity: 1;
75
+ }
76
+
77
+ .active.carousel-item-start,
78
+ .active.carousel-item-end {
79
+ z-index: 0;
80
+ opacity: 0;
81
+ @include transition(opacity 0s $carousel-transition-duration);
82
+ }
83
+ }
84
+
85
+
86
+ //
87
+ // Left/right controls for nav
88
+ //
89
+
90
+ .carousel-control-prev,
91
+ .carousel-control-next {
92
+ position: absolute;
93
+ top: 0;
94
+ bottom: 0;
95
+ z-index: 1;
96
+ // Use flex for alignment (1-3)
97
+ display: flex; // 1. allow flex styles
98
+ align-items: center; // 2. vertically center contents
99
+ justify-content: center; // 3. horizontally center contents
100
+ width: $carousel-control-width;
101
+ padding: 0;
102
+ color: $carousel-control-color;
103
+ text-align: center;
104
+ background: none;
105
+ border: 0;
106
+ opacity: $carousel-control-opacity;
107
+ @include transition($carousel-control-transition);
108
+
109
+ // Hover/focus state
110
+ &:hover,
111
+ &:focus {
112
+ color: $carousel-control-color;
113
+ text-decoration: none;
114
+ outline: 0;
115
+ opacity: $carousel-control-hover-opacity;
116
+ }
117
+ }
118
+ .carousel-control-prev {
119
+ left: 0;
120
+ background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);
121
+ }
122
+ .carousel-control-next {
123
+ right: 0;
124
+ background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);
125
+ }
126
+
127
+ // Icons for within
128
+ .carousel-control-prev-icon,
129
+ .carousel-control-next-icon {
130
+ display: inline-block;
131
+ width: $carousel-control-icon-width;
132
+ height: $carousel-control-icon-width;
133
+ background-repeat: no-repeat;
134
+ background-position: 50%;
135
+ background-size: 100% 100%;
136
+ }
137
+
138
+ /* rtl:options: {
139
+ "autoRename": true,
140
+ "stringMap":[ {
141
+ "name" : "prev-next",
142
+ "search" : "prev",
143
+ "replace" : "next"
144
+ } ]
145
+ } */
146
+ .carousel-control-prev-icon {
147
+ background-image: escape-svg($carousel-control-prev-icon-bg);
148
+ }
149
+ .carousel-control-next-icon {
150
+ background-image: escape-svg($carousel-control-next-icon-bg);
151
+ }
152
+
153
+ // Optional indicator pips/controls
154
+ //
155
+ // Add a container (such as a list) with the following class and add an item (ideally a focusable control,
156
+ // like a button) with data-bs-target for each slide your carousel holds.
157
+
158
+ .carousel-indicators {
159
+ position: absolute;
160
+ right: 0;
161
+ bottom: 0;
162
+ left: 0;
163
+ z-index: 2;
164
+ display: flex;
165
+ justify-content: center;
166
+ padding: 0;
167
+ // Use the .carousel-control's width as margin so we don't overlay those
168
+ margin-right: $carousel-control-width;
169
+ margin-bottom: 1rem;
170
+ margin-left: $carousel-control-width;
171
+ list-style: none;
172
+
173
+ [data-bs-target] {
174
+ box-sizing: content-box;
175
+ flex: 0 1 auto;
176
+ width: $carousel-indicator-width;
177
+ height: $carousel-indicator-height;
178
+ padding: 0;
179
+ margin-right: $carousel-indicator-spacer;
180
+ margin-left: $carousel-indicator-spacer;
181
+ text-indent: -999px;
182
+ cursor: pointer;
183
+ background-color: $carousel-indicator-active-bg;
184
+ background-clip: padding-box;
185
+ border: 0;
186
+ // Use transparent borders to increase the hit area by 10px on top and bottom.
187
+ border-top: $carousel-indicator-hit-area-height solid transparent;
188
+ border-bottom: $carousel-indicator-hit-area-height solid transparent;
189
+ opacity: $carousel-indicator-opacity;
190
+ @include transition($carousel-indicator-transition);
191
+ }
192
+
193
+ .active {
194
+ opacity: $carousel-indicator-active-opacity;
195
+ }
196
+ }
197
+
198
+
199
+ // Optional captions
200
+ //
201
+ //
202
+
203
+ .carousel-caption {
204
+ position: absolute;
205
+ right: (100% - $carousel-caption-width) / 2;
206
+ bottom: $carousel-caption-spacer;
207
+ left: (100% - $carousel-caption-width) / 2;
208
+ padding-top: $carousel-caption-padding-y;
209
+ padding-bottom: $carousel-caption-padding-y;
210
+ color: $carousel-caption-color;
211
+ text-align: center;
212
+ }
213
+
214
+ // Dark mode carousel
215
+
216
+ .carousel-dark {
217
+ .carousel-control-prev-icon,
218
+ .carousel-control-next-icon {
219
+ filter: $carousel-dark-control-icon-filter;
220
+ }
221
+
222
+ .carousel-indicators [data-bs-target] {
223
+ background-color: $carousel-dark-indicator-active-bg;
224
+ }
225
+
226
+ .carousel-caption {
227
+ color: $carousel-dark-caption-color;
228
+ }
229
+ }
@@ -0,0 +1,40 @@
1
+ // transparent background and border properties included for button version.
2
+ // iOS requires the button element instead of an anchor tag.
3
+ // If you want the anchor version, it requires `href="#"`.
4
+ // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
5
+
6
+ .btn-close {
7
+ box-sizing: content-box;
8
+ width: $btn-close-width;
9
+ height: $btn-close-height;
10
+ padding: $btn-close-padding-y $btn-close-padding-x;
11
+ color: $btn-close-color;
12
+ background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements
13
+ border: 0; // for button elements
14
+ @include border-radius();
15
+ opacity: $btn-close-opacity;
16
+
17
+ // Override <a>'s hover style
18
+ &:hover {
19
+ color: $btn-close-color;
20
+ text-decoration: none;
21
+ opacity: $btn-close-hover-opacity;
22
+ }
23
+
24
+ &:focus {
25
+ outline: 0;
26
+ box-shadow: $btn-close-focus-shadow;
27
+ opacity: $btn-close-focus-opacity;
28
+ }
29
+
30
+ &:disabled,
31
+ &.disabled {
32
+ pointer-events: none;
33
+ user-select: none;
34
+ opacity: $btn-close-disabled-opacity;
35
+ }
36
+ }
37
+
38
+ .btn-close-white {
39
+ filter: $btn-close-white-filter;
40
+ }