nitro_sg 3.0.0 → 3.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.
- 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
|
+
}
|