nitro_sg 3.0.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fonts/fontawesome.js +1978 -0
- data/fonts/regular.js +1217 -0
- data/lib/nitro_sg/version.rb +1 -1
- data/sass-mixins/_global.scss +415 -0
- data/sass-mixins/_normalize.scss +424 -0
- data/sass-mixins/_print.scss +101 -0
- data/sass-mixins/application.scss +29 -0
- data/sass-mixins/application.scss.flow +1592 -0
- data/sass-mixins/base-mixins/_all.scss +11 -0
- data/sass-mixins/base-mixins/_all.scss.flow +6 -0
- data/sass-mixins/base-mixins/_border-radius.scss +25 -0
- data/sass-mixins/base-mixins/_breakpoints.scss +95 -0
- data/sass-mixins/base-mixins/_color.sass +22 -0
- data/sass-mixins/base-mixins/_forms.scss +33 -0
- data/sass-mixins/base-mixins/_general.scss +599 -0
- data/sass-mixins/base-mixins/_grid-framework.scss +81 -0
- data/sass-mixins/base-mixins/_grid.scss +126 -0
- data/sass-mixins/base-mixins/_hover.scss +26 -0
- data/sass-mixins/base-mixins/_images.scss +33 -0
- data/sass-mixins/base-mixins/_media-queries.sass +58 -0
- data/sass-mixins/base-mixins/_type.scss +46 -0
- data/sass-mixins/base-variables/_all.scss +11 -0
- data/sass-mixins/base-variables/_animation-curves.scss +37 -0
- data/sass-mixins/base-variables/_bootstrap-variables.scss +284 -0
- data/sass-mixins/base-variables/_border-radius.sass +27 -0
- data/sass-mixins/base-variables/_color-bootstrap.scss +62 -0
- data/sass-mixins/base-variables/_color-deprecated.scss +26 -0
- data/sass-mixins/base-variables/_color-ui-elements.scss +20 -0
- data/sass-mixins/base-variables/_colors-export.scss +13 -0
- data/sass-mixins/base-variables/_colors-export.scss.flow +92 -0
- data/sass-mixins/base-variables/_colors.scss +267 -0
- data/sass-mixins/base-variables/_colors.scss.flow +5 -0
- data/sass-mixins/base-variables/_fonts.scss +97 -0
- data/sass-mixins/base-variables/_forms.scss +44 -0
- data/sass-mixins/base-variables/_opacity.scss +9 -0
- data/sass-mixins/base-variables/_positioning.scss +24 -0
- data/sass-mixins/base-variables/_shadows.scss +5 -0
- data/sass-mixins/base-variables/_sizing-ui-elements.scss +2 -0
- data/sass-mixins/base-variables/_spacing.sass +27 -0
- data/sass-mixins/base-variables/_typography.sass +79 -0
- data/sass-mixins/class-helpers/_all.scss +17 -0
- data/sass-mixins/class-helpers/_borders.scss +40 -0
- data/sass-mixins/class-helpers/_color.sass +61 -0
- data/sass-mixins/class-helpers/_display.scss +40 -0
- data/sass-mixins/class-helpers/_flexbox.scss +213 -0
- data/sass-mixins/class-helpers/_glyphicons.scss +307 -0
- data/sass-mixins/class-helpers/_line-height.scss +21 -0
- data/sass-mixins/class-helpers/_radius-and-shadows.scss +49 -0
- data/sass-mixins/class-helpers/_responsive-utilities.scss +179 -0
- data/sass-mixins/class-helpers/_screen-readers.scss +34 -0
- data/sass-mixins/class-helpers/_spacing.scss +51 -0
- data/sass-mixins/class-helpers/_type.scss +323 -0
- data/sass-mixins/class-helpers/_z-index.scss +10 -0
- data/sass-mixins/components.scss +5 -0
- data/sass-mixins/nitro-ui/_alerts.scss +139 -0
- data/sass-mixins/nitro-ui/_all.scss +33 -0
- data/sass-mixins/nitro-ui/_animations.scss +37 -0
- data/sass-mixins/nitro-ui/_carousel.scss +281 -0
- data/sass-mixins/nitro-ui/_code.scss +87 -0
- data/sass-mixins/nitro-ui/_connect-cards.scss +150 -0
- data/sass-mixins/nitro-ui/_dashboards.scss +516 -0
- data/sass-mixins/nitro-ui/_fixed-confirmation-toast.scss +48 -0
- data/sass-mixins/nitro-ui/_full-menu.scss +168 -0
- data/sass-mixins/nitro-ui/_grid.scss +92 -0
- data/sass-mixins/nitro-ui/_icon-toggle.scss +37 -0
- data/sass-mixins/nitro-ui/_jumbotron.scss +65 -0
- data/sass-mixins/nitro-ui/_links.scss +69 -0
- data/sass-mixins/nitro-ui/_list-group.scss +219 -0
- data/sass-mixins/nitro-ui/_media.scss +66 -0
- data/sass-mixins/nitro-ui/_modals.scss +311 -0
- data/sass-mixins/nitro-ui/_notify.scss +56 -0
- data/sass-mixins/nitro-ui/_popovers.scss +167 -0
- data/sass-mixins/nitro-ui/_progress-bars.scss +125 -0
- data/sass-mixins/nitro-ui/_responsive-embed.scss +35 -0
- data/sass-mixins/nitro-ui/_side-modal.scss +92 -0
- data/sass-mixins/nitro-ui/_tables-responsive.scss +253 -0
- data/sass-mixins/nitro-ui/_tables.scss +296 -0
- data/sass-mixins/nitro-ui/_thumbnails.scss +38 -0
- data/sass-mixins/nitro-ui/_tooltip.scss +124 -0
- data/sass-mixins/nitro-ui/_typography.scss +176 -0
- data/sass-mixins/nitro-ui/_value-stat.scss +149 -0
- data/sass-mixins/nitro-ui/_wells.scss +37 -0
- data/sass-mixins/nitro-ui/buttons/_all.scss +97 -0
- data/sass-mixins/nitro-ui/buttons/_button-capping.scss +21 -0
- data/sass-mixins/nitro-ui/buttons/_button-groups.scss +236 -0
- data/sass-mixins/nitro-ui/buttons/_button-mixins.scss +66 -0
- data/sass-mixins/nitro-ui/buttons/_button-variables.scss +51 -0
- data/sass-mixins/nitro-ui/buttons/_choice-buttons.scss +9 -0
- data/sass-mixins/nitro-ui/buttons/_circle-buttons.scss +30 -0
- data/sass-mixins/nitro-ui/buttons/_close.scss +45 -0
- data/sass-mixins/nitro-ui/buttons/_dropdowns.scss +270 -0
- data/sass-mixins/nitro-ui/buttons/_ghost-buttons.scss +58 -0
- data/sass-mixins/nitro-ui/buttons/_link-buttons.scss +53 -0
- data/sass-mixins/nitro-ui/buttons/_solid-buttons.scss +69 -0
- data/sass-mixins/nitro-ui/cards-panels/_all.scss +3 -0
- data/sass-mixins/nitro-ui/cards-panels/_cards.scss +409 -0
- data/sass-mixins/nitro-ui/cards-panels/_collapsible-card.scss +19 -0
- data/sass-mixins/nitro-ui/cards-panels/_panel-collapse.scss +34 -0
- data/sass-mixins/nitro-ui/cards-panels/_panel-list-groups.scss +41 -0
- data/sass-mixins/nitro-ui/cards-panels/_panel-tables.scss +111 -0
- data/sass-mixins/nitro-ui/cards-panels/_panels.scss +120 -0
- data/sass-mixins/nitro-ui/forms/_all.scss +18 -0
- data/sass-mixins/nitro-ui/forms/_checkbox-radio.scss +154 -0
- data/sass-mixins/nitro-ui/forms/_checkbox-toggle.scss +77 -0
- data/sass-mixins/nitro-ui/forms/_color-feedback.scss +53 -0
- data/sass-mixins/nitro-ui/forms/_dropdown.scss +12 -0
- data/sass-mixins/nitro-ui/forms/_form-group.scss +104 -0
- data/sass-mixins/nitro-ui/forms/_general-element-reset.scss +120 -0
- data/sass-mixins/nitro-ui/forms/_help-block.scss +11 -0
- data/sass-mixins/nitro-ui/forms/_horizontal-forms.scss +69 -0
- data/sass-mixins/nitro-ui/forms/_input-groups.scss +169 -0
- data/sass-mixins/nitro-ui/forms/_label.scss +29 -0
- data/sass-mixins/nitro-ui/forms/_multi-input-group.scss +89 -0
- data/sass-mixins/nitro-ui/forms/_static-form-text.scss +19 -0
- data/sass-mixins/nitro-ui/forms/_validation-states.scss +78 -0
- data/sass-mixins/nitro-ui/layouts/_sidebar-layout.scss +59 -0
- data/sass-mixins/nitro-ui/navigation/_all.scss +36 -0
- data/sass-mixins/nitro-ui/navigation/_breadcrumbs.scss +30 -0
- data/sass-mixins/nitro-ui/navigation/_pager.scss +71 -0
- data/sass-mixins/nitro-ui/navigation/_pagination.scss +212 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_brand.scss +25 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_collapse-content.scss +49 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_default-navbar.scss +33 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_dropdowns-buttons.scss +29 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_floats.scss +21 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_flush.scss +14 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_forms.scss +41 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_header.scss +31 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_inverse-navbar.scss +32 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_light-navbar.scss +36 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_links.scss +52 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_mixins.scss +161 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_navbar.scss +29 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_position.scss +50 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_text.scss +13 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_toggle-button.scss +37 -0
- data/sass-mixins/nitro-ui/navigation/navbar/_variables.scss +8 -0
- data/sass-mixins/nitro-ui/navigation/navs/_nav-dropdowns.scss +10 -0
- data/sass-mixins/nitro-ui/navigation/navs/_nav-justified.scss +32 -0
- data/sass-mixins/nitro-ui/navigation/navs/_nav-pills.scss +41 -0
- data/sass-mixins/nitro-ui/navigation/navs/_nav-tabs-justified.scss +30 -0
- data/sass-mixins/nitro-ui/navigation/navs/_nav-tabs.scss +41 -0
- data/sass-mixins/nitro-ui/navigation/navs/_nav.scss +383 -0
- data/sass-mixins/nitro-ui/navigation/navs/_navs.scss +70 -0
- data/sass-mixins/nitro-ui/navigation/navs/_tabbable-tabs.scss +12 -0
- data/sass-mixins/nitro-ui/navigation/navs/_variables.scss +23 -0
- data/sass-mixins/nitro-ui/tables/_all.scss +14 -0
- data/sass-mixins/nitro-ui/tables/_as-cards.scss +49 -0
- data/sass-mixins/nitro-ui/tables/_content.scss +13 -0
- data/sass-mixins/nitro-ui/tables/_headers.scss +17 -0
- data/sass-mixins/nitro-ui/tables/_hover.scss +66 -0
- data/sass-mixins/nitro-ui/tables/_mixins.scss +0 -0
- data/sass-mixins/nitro-ui/tables/_mobile.scss +138 -0
- data/sass-mixins/nitro-ui/tables/_reset.scss +17 -0
- data/sass-mixins/nitro-ui/tables/_single-line.scss +35 -0
- data/sass-mixins/nitro-ui/tables/_structure.scss +39 -0
- data/sass-mixins/nitro-ui/tables/_table-card.scss +88 -0
- data/sass-mixins/nitro-ui/tables/_table-dark.scss +92 -0
- data/sass-mixins/nitro-ui/tables/_variables.scss +23 -0
- data/sass-mixins/vendor/_bootstrap-overrides.scss +41 -0
- data/sass-mixins/vendor/_dropzone.scss +388 -0
- data/sass-mixins/vendor/_nitro-bootstrap.scss +95 -0
- data/sass-mixins/vendor/_nitro-dropzone.scss +56 -0
- data/sass-mixins/vendor/_react-datetime.scss +105 -0
- data/sass-mixins/vendor/_selectize.scss +407 -0
- data/sass-mixins/vendor/_sweet-alert-extended.scss +3 -0
- data/sass-mixins/vendor/react-select.css +375 -0
- data/sass-mixins/vendor/svg-with-js.css +5 -0
- data/sass-mixins/vendor/type-ahead.scss +43 -0
- metadata +170 -2
@@ -0,0 +1,25 @@
|
|
1
|
+
// Single side border-radius
|
2
|
+
|
3
|
+
@mixin border-radius($radius: $border-radius) {
|
4
|
+
border-radius: $radius;
|
5
|
+
}
|
6
|
+
|
7
|
+
@mixin border-top-radius($radius) {
|
8
|
+
border-top-right-radius: $radius;
|
9
|
+
border-top-left-radius: $radius;
|
10
|
+
}
|
11
|
+
|
12
|
+
@mixin border-right-radius($radius) {
|
13
|
+
border-bottom-right-radius: $radius;
|
14
|
+
border-top-right-radius: $radius;
|
15
|
+
}
|
16
|
+
|
17
|
+
@mixin border-bottom-radius($radius) {
|
18
|
+
border-bottom-right-radius: $radius;
|
19
|
+
border-bottom-left-radius: $radius;
|
20
|
+
}
|
21
|
+
|
22
|
+
@mixin border-left-radius($radius) {
|
23
|
+
border-bottom-left-radius: $radius;
|
24
|
+
border-top-left-radius: $radius;
|
25
|
+
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
// Breakpoint viewport sizes and media queries.
|
2
|
+
//
|
3
|
+
// Breakpoints are defined as a map of (name: minimum width), order from small to large:
|
4
|
+
//
|
5
|
+
// (xs: 0, sm: 576px, md: 768px)
|
6
|
+
//
|
7
|
+
// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
|
8
|
+
|
9
|
+
// Name of the next breakpoint, or null for the last breakpoint.
|
10
|
+
//
|
11
|
+
// >> breakpoint-next(sm)
|
12
|
+
// md
|
13
|
+
// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px))
|
14
|
+
// md
|
15
|
+
// >> breakpoint-next(sm, $breakpoint-names: (xs sm md))
|
16
|
+
// md
|
17
|
+
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
|
18
|
+
$n: index($breakpoint-names, $name);
|
19
|
+
@return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
|
20
|
+
}
|
21
|
+
|
22
|
+
// Minimum breakpoint width. Null for the smallest (first) breakpoint.
|
23
|
+
//
|
24
|
+
// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px))
|
25
|
+
// 576px
|
26
|
+
@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
|
27
|
+
$min: map-get($breakpoints, $name);
|
28
|
+
@return if($min != 0, $min, null);
|
29
|
+
}
|
30
|
+
|
31
|
+
// Maximum breakpoint width. Null for the largest (last) breakpoint.
|
32
|
+
// The maximum value is calculated as the minimum of the next one less 0.1.
|
33
|
+
//
|
34
|
+
// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px))
|
35
|
+
// 767px
|
36
|
+
@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
|
37
|
+
$next: breakpoint-next($name, $breakpoints);
|
38
|
+
@return if($next, breakpoint-min($next, $breakpoints) - 1px, null);
|
39
|
+
}
|
40
|
+
|
41
|
+
// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
|
42
|
+
// Useful for making responsive utilities.
|
43
|
+
//
|
44
|
+
// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px))
|
45
|
+
// "" (Returns a blank string)
|
46
|
+
// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px))
|
47
|
+
// "-sm"
|
48
|
+
@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
|
49
|
+
@return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
|
50
|
+
}
|
51
|
+
|
52
|
+
// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
|
53
|
+
// Makes the @content apply to the given breakpoint and wider.
|
54
|
+
@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
|
55
|
+
$min: breakpoint-min($name, $breakpoints);
|
56
|
+
@if $min {
|
57
|
+
@media (min-width: $min) {
|
58
|
+
@content;
|
59
|
+
}
|
60
|
+
} @else {
|
61
|
+
@content;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
// Media of at most the maximum breakpoint width. No query for the largest breakpoint.
|
66
|
+
// Makes the @content apply to the given breakpoint and narrower.
|
67
|
+
@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
|
68
|
+
$max: breakpoint-max($name, $breakpoints);
|
69
|
+
@if $max {
|
70
|
+
@media (max-width: $max) {
|
71
|
+
@content;
|
72
|
+
}
|
73
|
+
} @else {
|
74
|
+
@content;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
// Media that spans multiple breakpoint widths.
|
79
|
+
// Makes the @content apply between the min and max breakpoints
|
80
|
+
@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
|
81
|
+
@include media-breakpoint-up($lower, $breakpoints) {
|
82
|
+
@include media-breakpoint-down($upper, $breakpoints) {
|
83
|
+
@content;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
// Media between the breakpoint's minimum and maximum widths.
|
89
|
+
// No minimum for the smallest breakpoint, and no maximum for the largest one.
|
90
|
+
// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
|
91
|
+
@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
|
92
|
+
@include media-breakpoint-between($name, $name, $breakpoints) {
|
93
|
+
@content;
|
94
|
+
}
|
95
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
=text-color($base_color, $shadow: false, $more_contrast: false)
|
2
|
+
@if lightness($base_color) > 75%
|
3
|
+
@if $more_contrast
|
4
|
+
color: shade($base_color, 80%)
|
5
|
+
@else
|
6
|
+
color: shade($base_color, 60%)
|
7
|
+
@if $shadow
|
8
|
+
text-shadow: rgba(white, 0.2 + lightness($base_color) * 0.8 / 100%) 0 1px 0
|
9
|
+
@else
|
10
|
+
@if $more_contrast
|
11
|
+
color: tint($base_color, 100%)
|
12
|
+
@else
|
13
|
+
color: tint($base_color, 95%)
|
14
|
+
@if $shadow
|
15
|
+
text-shadow: rgba(black, 0.4) 0 -1px 1px
|
16
|
+
|
17
|
+
// Can use Tint & Shade easily for colors
|
18
|
+
@function shade($color, $percent)
|
19
|
+
@return mix(#000, $color, $percent)
|
20
|
+
|
21
|
+
@function tint($color, $percent)
|
22
|
+
@return mix(#fff, $color, $percent)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
// Form control focus state
|
2
|
+
@mixin form-control-focus($color: $input-border-focus) {
|
3
|
+
$color-rgba: rgba(red($color), green($color), blue($color), .6);
|
4
|
+
&:focus {
|
5
|
+
outline: 0;
|
6
|
+
border-color: $power-navy;
|
7
|
+
box-shadow: inset 0 0 0 0.1rem $power-navy, inset 0 0.1rem 0.2rem 0 rgba($power-navy, $opacity-2);
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
@mixin style-placeholder {
|
12
|
+
&::-webkit-input-placeholder { @content; }
|
13
|
+
&:-moz-placeholder { @content; }
|
14
|
+
&::-moz-placeholder { @content; }
|
15
|
+
&:-ms-input-placeholder { @content; }
|
16
|
+
}
|
17
|
+
|
18
|
+
|
19
|
+
// select image settings
|
20
|
+
@mixin select-arrow-image-settings {
|
21
|
+
background-position: 98% 50%, 0 0;
|
22
|
+
background-repeat: no-repeat, repeat;
|
23
|
+
background-size: 20px, auto;
|
24
|
+
}
|
25
|
+
|
26
|
+
// Custom Select
|
27
|
+
@mixin select($select-color: (linear-gradient(to bottom, $white 10%, $gray-1 100%)), $arrow-color: $gray-5) {
|
28
|
+
background: $select-color;
|
29
|
+
background-image: image-url('pb-caret.svg'); /* fallback */
|
30
|
+
background-image: image-url('pb-caret.svg'), $select-color; /* W3C */
|
31
|
+
@include select-arrow-image-settings;
|
32
|
+
padding-right: 3em;
|
33
|
+
}
|
@@ -0,0 +1,599 @@
|
|
1
|
+
@mixin body-font {
|
2
|
+
font-family: $font-family-base;
|
3
|
+
}
|
4
|
+
|
5
|
+
@mixin title-font {
|
6
|
+
font-family: $font-family-base;
|
7
|
+
}
|
8
|
+
|
9
|
+
@mixin center {
|
10
|
+
left: 50%;
|
11
|
+
transform: translateX(-50%);
|
12
|
+
}
|
13
|
+
|
14
|
+
@mixin middle {
|
15
|
+
top: 50%;
|
16
|
+
transform: translateY(-50%);
|
17
|
+
}
|
18
|
+
|
19
|
+
@mixin center-all {
|
20
|
+
left: 50%;
|
21
|
+
top: 50%;
|
22
|
+
transform: translate(-50%, -50%);
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
@mixin clearfix {
|
28
|
+
&:before,
|
29
|
+
&:after {
|
30
|
+
content: " ";
|
31
|
+
display: table;
|
32
|
+
}
|
33
|
+
&:after {
|
34
|
+
clear: both;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
@mixin smooth-font {
|
39
|
+
-webkit-font-smoothing: antialiased;
|
40
|
+
-moz-osx-font-smoothing: grayscale;
|
41
|
+
}
|
42
|
+
|
43
|
+
@mixin smooth-font-off {
|
44
|
+
-webkit-font-smoothing: auto;
|
45
|
+
-moz-osx-font-smoothing: auto;
|
46
|
+
}
|
47
|
+
|
48
|
+
|
49
|
+
// No longer needed. Use something like autoprefixer
|
50
|
+
// Great explination here: https://github.com/thoughtbot/bourbon/issues/702
|
51
|
+
@mixin box-shadow($shadow...) {
|
52
|
+
-webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
|
53
|
+
box-shadow: $shadow;
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
// http://shouldiprefix.com/#box-sizing
|
58
|
+
// Lets remove, no prefix needed
|
59
|
+
@mixin box-sizing($content...) {
|
60
|
+
box-sizing: $content;
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
@mixin tab-focus() {
|
65
|
+
// Default
|
66
|
+
// outline: thin dotted;
|
67
|
+
// // WebKit
|
68
|
+
// outline: 5px auto -webkit-focus-ring-color;
|
69
|
+
// outline-offset: -2px;
|
70
|
+
outline: 0;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
// No gradients...lets kill
|
75
|
+
// Reset filters for IE
|
76
|
+
//
|
77
|
+
// When you need to remove a gradient background, do not forget to use this to reset
|
78
|
+
// the IE filter for IE9 and below.
|
79
|
+
|
80
|
+
@mixin reset-filter() {
|
81
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
82
|
+
}
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
// Horizontal dividers
|
87
|
+
//
|
88
|
+
// Dividers (basically an hr) within dropdowns and nav lists
|
89
|
+
|
90
|
+
@mixin nav-divider($color: #e5e5e5) {
|
91
|
+
height: 1px;
|
92
|
+
margin: (($line-height-computed / 2) - 1) 0;
|
93
|
+
overflow: hidden;
|
94
|
+
background-color: $color;
|
95
|
+
}
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
@mixin _assert-ascending($map, $map-name) {
|
103
|
+
$prev-key: null;
|
104
|
+
$prev-num: null;
|
105
|
+
@each $key, $num in $map {
|
106
|
+
@if $prev-num == null {
|
107
|
+
// Do nothing
|
108
|
+
} @else if not comparable($prev-num, $num) {
|
109
|
+
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
110
|
+
} @else if $prev-num >= $num {
|
111
|
+
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
112
|
+
}
|
113
|
+
$prev-key: $key;
|
114
|
+
$prev-num: $num;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
// Replace `$search` with `$replace` in `$string`
|
119
|
+
// @author Hugo Giraudel
|
120
|
+
// @param {String} $string - Initial string
|
121
|
+
// @param {String} $search - Substring to replace
|
122
|
+
// @param {String} $replace ('') - New value
|
123
|
+
// @return {String} - Updated string
|
124
|
+
@function str-replace($string, $search, $replace: "") {
|
125
|
+
$index: str-index($string, $search);
|
126
|
+
|
127
|
+
@if $index {
|
128
|
+
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
129
|
+
}
|
130
|
+
|
131
|
+
@return $string;
|
132
|
+
}
|
133
|
+
|
134
|
+
@mixin _assert-starts-at-zero($map) {
|
135
|
+
$values: map-values($map);
|
136
|
+
$first-value: nth($values, 1);
|
137
|
+
@if $first-value != 0 {
|
138
|
+
@warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
// Inline forms
|
145
|
+
//
|
146
|
+
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
|
147
|
+
// forms begin stacked on extra small (mobile) devices and then go inline when
|
148
|
+
// viewports reach <768px.
|
149
|
+
//
|
150
|
+
// Requires wrapping inputs and labels with `.form-group` for proper display of
|
151
|
+
// default HTML form controls and our custom form controls (e.g., input groups).
|
152
|
+
//
|
153
|
+
// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
|
154
|
+
|
155
|
+
// [converter] extracted from `.form-inline` for libsass compatibility
|
156
|
+
@mixin form-inline {
|
157
|
+
|
158
|
+
// Kick in the inline
|
159
|
+
@media (min-width: $screen-sm-min) {
|
160
|
+
// Inline-block all the things for "inline"
|
161
|
+
.form-group {
|
162
|
+
display: inline-block;
|
163
|
+
margin-bottom: 0;
|
164
|
+
vertical-align: middle;
|
165
|
+
}
|
166
|
+
|
167
|
+
// In navbar-form, allow folks to *not* use `.form-group`
|
168
|
+
.form-control {
|
169
|
+
display: inline-block;
|
170
|
+
width: auto; // Prevent labels from stacking above inputs in `.form-group`
|
171
|
+
vertical-align: middle;
|
172
|
+
}
|
173
|
+
|
174
|
+
// Make static controls behave like regular ones
|
175
|
+
.form-control-static {
|
176
|
+
display: inline-block;
|
177
|
+
}
|
178
|
+
|
179
|
+
.input-group {
|
180
|
+
display: inline-table;
|
181
|
+
vertical-align: middle;
|
182
|
+
|
183
|
+
.input-group-addon,
|
184
|
+
.input-group-btn,
|
185
|
+
.form-control {
|
186
|
+
width: auto;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
// Input groups need that 100% width though
|
191
|
+
.input-group > .form-control {
|
192
|
+
width: 100%;
|
193
|
+
}
|
194
|
+
|
195
|
+
.control-label {
|
196
|
+
margin-bottom: 0;
|
197
|
+
vertical-align: middle;
|
198
|
+
}
|
199
|
+
|
200
|
+
// Remove default margin on radios/checkboxes that were used for stacking, and
|
201
|
+
// then undo the floating of radios and checkboxes to match.
|
202
|
+
.radio,
|
203
|
+
.checkbox {
|
204
|
+
display: inline-block;
|
205
|
+
margin-top: 0;
|
206
|
+
margin-bottom: 0;
|
207
|
+
vertical-align: middle;
|
208
|
+
|
209
|
+
label {
|
210
|
+
padding-left: 0;
|
211
|
+
}
|
212
|
+
}
|
213
|
+
.radio input[type="radio"],
|
214
|
+
.checkbox input[type="checkbox"] {
|
215
|
+
position: relative;
|
216
|
+
margin-left: 0;
|
217
|
+
}
|
218
|
+
|
219
|
+
// Re-override the feedback icon.
|
220
|
+
.has-feedback .form-control-feedback {
|
221
|
+
top: 0;
|
222
|
+
}
|
223
|
+
}
|
224
|
+
}
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
// -----------------
|
233
|
+
// Kill and burn
|
234
|
+
// -----------------
|
235
|
+
|
236
|
+
|
237
|
+
// Vendor Prefixes
|
238
|
+
//
|
239
|
+
// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
|
240
|
+
// Autoprefixer in our Gruntfile. They will be removed in v4.
|
241
|
+
|
242
|
+
// - Animations
|
243
|
+
// - Backface visibility
|
244
|
+
// - Box shadow
|
245
|
+
// - Box sizing
|
246
|
+
// - Content columns
|
247
|
+
// - Hyphens
|
248
|
+
// - Placeholder text
|
249
|
+
// - Transformations
|
250
|
+
// - Transitions
|
251
|
+
// - User Select
|
252
|
+
|
253
|
+
|
254
|
+
// Animations
|
255
|
+
@mixin animation($animation) {
|
256
|
+
-webkit-animation: $animation;
|
257
|
+
-o-animation: $animation;
|
258
|
+
animation: $animation;
|
259
|
+
}
|
260
|
+
@mixin animation-name($name) {
|
261
|
+
-webkit-animation-name: $name;
|
262
|
+
animation-name: $name;
|
263
|
+
}
|
264
|
+
@mixin animation-duration($duration) {
|
265
|
+
-webkit-animation-duration: $duration;
|
266
|
+
animation-duration: $duration;
|
267
|
+
}
|
268
|
+
@mixin animation-timing-function($timing-function) {
|
269
|
+
-webkit-animation-timing-function: $timing-function;
|
270
|
+
animation-timing-function: $timing-function;
|
271
|
+
}
|
272
|
+
@mixin animation-delay($delay) {
|
273
|
+
-webkit-animation-delay: $delay;
|
274
|
+
animation-delay: $delay;
|
275
|
+
}
|
276
|
+
@mixin animation-iteration-count($iteration-count) {
|
277
|
+
-webkit-animation-iteration-count: $iteration-count;
|
278
|
+
animation-iteration-count: $iteration-count;
|
279
|
+
}
|
280
|
+
@mixin animation-direction($direction) {
|
281
|
+
-webkit-animation-direction: $direction;
|
282
|
+
animation-direction: $direction;
|
283
|
+
}
|
284
|
+
@mixin animation-fill-mode($fill-mode) {
|
285
|
+
-webkit-animation-fill-mode: $fill-mode;
|
286
|
+
animation-fill-mode: $fill-mode;
|
287
|
+
}
|
288
|
+
|
289
|
+
// Backface visibility
|
290
|
+
// Prevent browsers from flickering when using CSS 3D transforms.
|
291
|
+
// Default value is `visible`, but can be changed to `hidden`
|
292
|
+
|
293
|
+
@mixin backface-visibility($visibility){
|
294
|
+
-webkit-backface-visibility: $visibility;
|
295
|
+
-moz-backface-visibility: $visibility;
|
296
|
+
backface-visibility: $visibility;
|
297
|
+
}
|
298
|
+
|
299
|
+
// Drop shadows
|
300
|
+
//
|
301
|
+
// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
|
302
|
+
// supported browsers that have box shadow capabilities now support it.
|
303
|
+
|
304
|
+
@mixin box-shadow($shadow...) {
|
305
|
+
-webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
|
306
|
+
box-shadow: $shadow;
|
307
|
+
}
|
308
|
+
|
309
|
+
// Box sizing
|
310
|
+
@mixin box-sizing($boxmodel) {
|
311
|
+
-webkit-box-sizing: $boxmodel;
|
312
|
+
-moz-box-sizing: $boxmodel;
|
313
|
+
box-sizing: $boxmodel;
|
314
|
+
}
|
315
|
+
|
316
|
+
// CSS3 Content Columns
|
317
|
+
@mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
|
318
|
+
-webkit-column-count: $column-count;
|
319
|
+
-moz-column-count: $column-count;
|
320
|
+
column-count: $column-count;
|
321
|
+
-webkit-column-gap: $column-gap;
|
322
|
+
-moz-column-gap: $column-gap;
|
323
|
+
column-gap: $column-gap;
|
324
|
+
}
|
325
|
+
|
326
|
+
// Optional hyphenation
|
327
|
+
@mixin hyphens($mode: auto) {
|
328
|
+
word-wrap: break-word;
|
329
|
+
-webkit-hyphens: $mode;
|
330
|
+
-moz-hyphens: $mode;
|
331
|
+
-ms-hyphens: $mode; // IE10+
|
332
|
+
-o-hyphens: $mode;
|
333
|
+
hyphens: $mode;
|
334
|
+
}
|
335
|
+
|
336
|
+
// Placeholder text
|
337
|
+
@mixin placeholder($color: $input-color-placeholder) {
|
338
|
+
// Firefox
|
339
|
+
&::-moz-placeholder {
|
340
|
+
color: $color;
|
341
|
+
opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
|
342
|
+
}
|
343
|
+
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
|
344
|
+
&::-webkit-input-placeholder { color: $color; } // Safari and Chrome
|
345
|
+
}
|
346
|
+
|
347
|
+
// Transformations
|
348
|
+
@mixin scale($ratio...) {
|
349
|
+
-webkit-transform: scale($ratio);
|
350
|
+
-ms-transform: scale($ratio); // IE9 only
|
351
|
+
-o-transform: scale($ratio);
|
352
|
+
transform: scale($ratio);
|
353
|
+
}
|
354
|
+
|
355
|
+
@mixin scaleX($ratio) {
|
356
|
+
-webkit-transform: scaleX($ratio);
|
357
|
+
-ms-transform: scaleX($ratio); // IE9 only
|
358
|
+
-o-transform: scaleX($ratio);
|
359
|
+
transform: scaleX($ratio);
|
360
|
+
}
|
361
|
+
@mixin scaleY($ratio) {
|
362
|
+
-webkit-transform: scaleY($ratio);
|
363
|
+
-ms-transform: scaleY($ratio); // IE9 only
|
364
|
+
-o-transform: scaleY($ratio);
|
365
|
+
transform: scaleY($ratio);
|
366
|
+
}
|
367
|
+
@mixin skew($x, $y) {
|
368
|
+
-webkit-transform: skewX($x) skewY($y);
|
369
|
+
-ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
|
370
|
+
-o-transform: skewX($x) skewY($y);
|
371
|
+
transform: skewX($x) skewY($y);
|
372
|
+
}
|
373
|
+
@mixin translate($x, $y) {
|
374
|
+
-webkit-transform: translate($x, $y);
|
375
|
+
-ms-transform: translate($x, $y); // IE9 only
|
376
|
+
-o-transform: translate($x, $y);
|
377
|
+
transform: translate($x, $y);
|
378
|
+
}
|
379
|
+
@mixin translate3d($x, $y, $z) {
|
380
|
+
-webkit-transform: translate3d($x, $y, $z);
|
381
|
+
transform: translate3d($x, $y, $z);
|
382
|
+
}
|
383
|
+
@mixin rotate($degrees) {
|
384
|
+
-webkit-transform: rotate($degrees);
|
385
|
+
-ms-transform: rotate($degrees); // IE9 only
|
386
|
+
-o-transform: rotate($degrees);
|
387
|
+
transform: rotate($degrees);
|
388
|
+
}
|
389
|
+
@mixin rotateX($degrees) {
|
390
|
+
-webkit-transform: rotateX($degrees);
|
391
|
+
-ms-transform: rotateX($degrees); // IE9 only
|
392
|
+
-o-transform: rotateX($degrees);
|
393
|
+
transform: rotateX($degrees);
|
394
|
+
}
|
395
|
+
@mixin rotateY($degrees) {
|
396
|
+
-webkit-transform: rotateY($degrees);
|
397
|
+
-ms-transform: rotateY($degrees); // IE9 only
|
398
|
+
-o-transform: rotateY($degrees);
|
399
|
+
transform: rotateY($degrees);
|
400
|
+
}
|
401
|
+
@mixin perspective($perspective) {
|
402
|
+
-webkit-perspective: $perspective;
|
403
|
+
-moz-perspective: $perspective;
|
404
|
+
perspective: $perspective;
|
405
|
+
}
|
406
|
+
@mixin perspective-origin($perspective) {
|
407
|
+
-webkit-perspective-origin: $perspective;
|
408
|
+
-moz-perspective-origin: $perspective;
|
409
|
+
perspective-origin: $perspective;
|
410
|
+
}
|
411
|
+
@mixin transform-origin($origin) {
|
412
|
+
-webkit-transform-origin: $origin;
|
413
|
+
-moz-transform-origin: $origin;
|
414
|
+
-ms-transform-origin: $origin; // IE9 only
|
415
|
+
transform-origin: $origin;
|
416
|
+
}
|
417
|
+
|
418
|
+
|
419
|
+
// Transitions
|
420
|
+
|
421
|
+
@mixin transition($transition...) {
|
422
|
+
-webkit-transition: $transition;
|
423
|
+
-o-transition: $transition;
|
424
|
+
transition: $transition;
|
425
|
+
}
|
426
|
+
@mixin transition-property($transition-property...) {
|
427
|
+
-webkit-transition-property: $transition-property;
|
428
|
+
transition-property: $transition-property;
|
429
|
+
}
|
430
|
+
@mixin transition-delay($transition-delay) {
|
431
|
+
-webkit-transition-delay: $transition-delay;
|
432
|
+
transition-delay: $transition-delay;
|
433
|
+
}
|
434
|
+
@mixin transition-duration($transition-duration...) {
|
435
|
+
-webkit-transition-duration: $transition-duration;
|
436
|
+
transition-duration: $transition-duration;
|
437
|
+
}
|
438
|
+
@mixin transition-timing-function($timing-function) {
|
439
|
+
-webkit-transition-timing-function: $timing-function;
|
440
|
+
transition-timing-function: $timing-function;
|
441
|
+
}
|
442
|
+
@mixin transition-transform($transition...) {
|
443
|
+
-webkit-transition: -webkit-transform $transition;
|
444
|
+
-moz-transition: -moz-transform $transition;
|
445
|
+
-o-transition: -o-transform $transition;
|
446
|
+
transition: transform $transition;
|
447
|
+
}
|
448
|
+
|
449
|
+
|
450
|
+
// User select
|
451
|
+
// For selecting text on the page
|
452
|
+
|
453
|
+
@mixin user-select($select) {
|
454
|
+
-webkit-user-select: $select;
|
455
|
+
-moz-user-select: $select;
|
456
|
+
-ms-user-select: $select; // IE10+
|
457
|
+
user-select: $select;
|
458
|
+
}
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
|
470
|
+
|
471
|
+
|
472
|
+
|
473
|
+
// Gradients
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
// Horizontal gradient, from left to right
|
478
|
+
//
|
479
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
480
|
+
// Color stops are not available in IE9 and below.
|
481
|
+
@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
482
|
+
background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
|
483
|
+
background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
|
484
|
+
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
485
|
+
background-repeat: repeat-x;
|
486
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
|
487
|
+
}
|
488
|
+
|
489
|
+
// Vertical gradient, from top to bottom
|
490
|
+
//
|
491
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
492
|
+
// Color stops are not available in IE9 and below.
|
493
|
+
@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
494
|
+
background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
|
495
|
+
background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
|
496
|
+
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
497
|
+
background-repeat: repeat-x;
|
498
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
|
499
|
+
}
|
500
|
+
|
501
|
+
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
502
|
+
background-repeat: repeat-x;
|
503
|
+
background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+
|
504
|
+
background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12
|
505
|
+
background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
506
|
+
}
|
507
|
+
@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
508
|
+
background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
|
509
|
+
background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
|
510
|
+
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
511
|
+
background-repeat: no-repeat;
|
512
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
|
513
|
+
}
|
514
|
+
@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
515
|
+
background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
516
|
+
background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
517
|
+
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
518
|
+
background-repeat: no-repeat;
|
519
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
|
520
|
+
}
|
521
|
+
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
522
|
+
background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
|
523
|
+
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
524
|
+
background-repeat: no-repeat;
|
525
|
+
}
|
526
|
+
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
|
527
|
+
background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
528
|
+
background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
529
|
+
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
530
|
+
}
|
531
|
+
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
|
536
|
+
// Opacity // Not needed
|
537
|
+
|
538
|
+
@mixin opacity($opacity) {
|
539
|
+
opacity: $opacity;
|
540
|
+
// IE8 filter
|
541
|
+
$opacity-ie: ($opacity * 100);
|
542
|
+
filter: alpha(opacity=$opacity-ie);
|
543
|
+
}
|
544
|
+
|
545
|
+
|
546
|
+
|
547
|
+
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
// Center-align a block level element
|
552
|
+
|
553
|
+
@mixin center-block() {
|
554
|
+
display: block;
|
555
|
+
margin-left: auto;
|
556
|
+
margin-right: auto;
|
557
|
+
}
|
558
|
+
|
559
|
+
|
560
|
+
|
561
|
+
|
562
|
+
|
563
|
+
|
564
|
+
|
565
|
+
|
566
|
+
|
567
|
+
// Responsive utilities
|
568
|
+
|
569
|
+
//
|
570
|
+
// More easily include all the states for responsive-utilities.less.
|
571
|
+
// [converter] $parent hack
|
572
|
+
@mixin responsive-visibility($parent) {
|
573
|
+
#{$parent} {
|
574
|
+
display: block !important;
|
575
|
+
}
|
576
|
+
table#{$parent} { display: table !important; }
|
577
|
+
tr#{$parent} { display: table-row !important; }
|
578
|
+
th#{$parent},
|
579
|
+
td#{$parent} { display: table-cell !important; }
|
580
|
+
}
|
581
|
+
|
582
|
+
// [converter] $parent hack
|
583
|
+
@mixin responsive-invisibility($parent) {
|
584
|
+
#{$parent} {
|
585
|
+
display: none !important;
|
586
|
+
}
|
587
|
+
}
|
588
|
+
|
589
|
+
|
590
|
+
@media screen and (max-width: 479px) {
|
591
|
+
.hidden-xxs {
|
592
|
+
display: none !important;
|
593
|
+
}
|
594
|
+
}
|
595
|
+
@media screen and (max-width: 479px) {
|
596
|
+
.visible-xxs {
|
597
|
+
display: block !important;
|
598
|
+
}
|
599
|
+
}
|