kickstart_rails 3.0.55 → 3.0.56
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/app/assets/stylesheets/core/_animations.sass +8 -0
- data/app/assets/stylesheets/core/_base.sass +8 -0
- data/app/assets/stylesheets/core/_base_components.sass +15 -0
- data/app/assets/stylesheets/core/_dependent_components.sass +12 -0
- data/app/assets/stylesheets/core/_direct-apply.sass +337 -0
- data/app/assets/stylesheets/core/_grid.sass +148 -0
- data/app/assets/stylesheets/core/_icons.sass +3 -0
- data/app/assets/stylesheets/core/_index.sass +7 -0
- data/app/assets/stylesheets/core/_mixins.sass +22 -0
- data/app/assets/stylesheets/core/_normalize.sass +339 -0
- data/app/assets/stylesheets/core/_root-element.sass +17 -0
- data/app/assets/stylesheets/core/_typography.sass +180 -0
- data/app/assets/stylesheets/core/components/_alerts.sass +23 -0
- data/app/assets/stylesheets/core/components/_buttons.sass +159 -0
- data/app/assets/stylesheets/core/components/_dropdown_menu.sass +69 -0
- data/app/assets/stylesheets/core/components/_forms.sass +107 -0
- data/app/assets/stylesheets/core/components/_growls.sass +2 -0
- data/app/assets/stylesheets/core/components/_hr.sass +5 -0
- data/app/assets/stylesheets/core/components/_images.sass +43 -0
- data/app/assets/stylesheets/core/components/_labels.sass +15 -0
- data/app/assets/stylesheets/core/components/_modals.sass +73 -0
- data/app/assets/stylesheets/core/components/_navbar.sass +283 -0
- data/app/assets/stylesheets/core/components/_notifications.sass +20 -0
- data/app/assets/stylesheets/core/components/_pagination.sass +11 -0
- data/app/assets/stylesheets/core/components/_progress.sass +12 -0
- data/app/assets/stylesheets/core/components/_tables.sass +70 -0
- data/app/assets/stylesheets/core/components/_tabs.sass +37 -0
- data/app/assets/stylesheets/core/components/_tooltips.sass +26 -0
- data/app/assets/stylesheets/themes/default/theme.sass +6 -4
- data/app/assets/stylesheets/vendor/_index.sass +0 -1
- data/lib/kickstart_rails/version.rb +1 -1
- metadata +29 -7
- data/app/assets/stylesheets/vendor/switch/README.md +0 -45
- data/app/assets/stylesheets/vendor/switch/example.sass +0 -14
- data/app/assets/stylesheets/vendor/switch/gulpfile.js +0 -16
- data/app/assets/stylesheets/vendor/switch/index.html +0 -18
- data/app/assets/stylesheets/vendor/switch/package.json +0 -24
- data/app/assets/stylesheets/vendor/switch/switch.sass +0 -53
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 49c4e49b462987a76fdcd2b4297b973ee94c289e
         | 
| 4 | 
            +
              data.tar.gz: 58c4a8556c69a650ee64945cacb752b450d18aa5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 62be9d7f87e7616a1af15bd5c3e5dd67929ce6d7001ffbe7ac195573a85640a084b88405d639eb0d5af29847a1eef7f26bb56df9706587a4fa31ad6b9b2ac079
         | 
| 7 | 
            +
              data.tar.gz: a1b54f160fbcd741102959e074c1b57ac4f912872803b2feb4e190c1272290c630eb6301b4090ef07d6a38e1a7ffab0e89d40411ce36c05793e2788961b96977
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            // Base Components
         | 
| 2 | 
            +
            // ===============
         | 
| 3 | 
            +
            // These are the base components from which dependent components can extend.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            // Components
         | 
| 6 | 
            +
            @import components/_alerts
         | 
| 7 | 
            +
            @import components/_buttons
         | 
| 8 | 
            +
            @import components/_hr
         | 
| 9 | 
            +
            @import components/_images
         | 
| 10 | 
            +
            @import components/_labels
         | 
| 11 | 
            +
            @import components/_modals
         | 
| 12 | 
            +
            @import components/_progress
         | 
| 13 | 
            +
            @import components/_tables
         | 
| 14 | 
            +
            @import components/_dropdown_menu
         | 
| 15 | 
            +
            @import components/_navbar
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            // Dependent Components
         | 
| 2 | 
            +
            // ====================
         | 
| 3 | 
            +
            // These components extend the core and base components.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            // Components
         | 
| 6 | 
            +
            @import components/_growls
         | 
| 7 | 
            +
            @import components/_modals
         | 
| 8 | 
            +
            @import components/_notifications
         | 
| 9 | 
            +
            @import components/_tabs
         | 
| 10 | 
            +
            @import components/_tooltips
         | 
| 11 | 
            +
            @import components/_forms
         | 
| 12 | 
            +
            @import components/_pagination
         | 
| @@ -0,0 +1,337 @@ | |
| 1 | 
            +
            // Direct applications
         | 
| 2 | 
            +
            // ===================
         | 
| 3 | 
            +
            // Regardless of semantic or non-semantic usage, some styles
         | 
| 4 | 
            +
            // Should be applied directly to classes or elements no matter
         | 
| 5 | 
            +
            // what. This include should be included near the end of the
         | 
| 6 | 
            +
            // import chain but before kickstart.sass to accomplish this.
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            body
         | 
| 9 | 
            +
              &.dismiss-modal
         | 
| 10 | 
            +
                cursor: pointer
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            // Buttons
         | 
| 13 | 
            +
            // -------
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            button,
         | 
| 16 | 
            +
            input[type="submit"],
         | 
| 17 | 
            +
            input[type="button"],
         | 
| 18 | 
            +
            input[type="file"]::-webkit-file-upload-button
         | 
| 19 | 
            +
              +button
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            +dropdown_menu
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            // Forms
         | 
| 24 | 
            +
            // -----
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            %error_message
         | 
| 27 | 
            +
              font-style: italic
         | 
| 28 | 
            +
              margin:
         | 
| 29 | 
            +
                top: 7px
         | 
| 30 | 
            +
                bottom: 14px
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            form
         | 
| 33 | 
            +
              .errors, .warnings, .successes
         | 
| 34 | 
            +
                p
         | 
| 35 | 
            +
                  @extend %error_message
         | 
| 36 | 
            +
             | 
| 37 | 
            +
              .errors
         | 
| 38 | 
            +
                +field-colors(map-get($colors, red))
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              .warnings
         | 
| 41 | 
            +
                +field-colors(map-get($colors, yellow))
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              .successes
         | 
| 44 | 
            +
                +field-colors(map-get($colors, green))
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              p
         | 
| 47 | 
            +
                &.error, &.warning, &.success
         | 
| 48 | 
            +
                  @extend %error_message
         | 
| 49 | 
            +
             | 
| 50 | 
            +
              label, span, p
         | 
| 51 | 
            +
                &.error
         | 
| 52 | 
            +
                  color: map-get($colors, red)
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                &.warning
         | 
| 55 | 
            +
                  color: map-get($colors, yellow)
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                &.success
         | 
| 58 | 
            +
                  color: map-get($colors, green)
         | 
| 59 | 
            +
             | 
| 60 | 
            +
              input, select
         | 
| 61 | 
            +
                &.error
         | 
| 62 | 
            +
                  border-color: map-get($colors, red)
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                &.warning
         | 
| 65 | 
            +
                  border-color: map-get($colors, yellow)
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                &.success
         | 
| 68 | 
            +
                  border-color: map-get($colors, green)
         | 
| 69 | 
            +
             | 
| 70 | 
            +
             | 
| 71 | 
            +
            // Growls
         | 
| 72 | 
            +
            // ------
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            .growl_container
         | 
| 75 | 
            +
              position: fixed
         | 
| 76 | 
            +
              top: 0
         | 
| 77 | 
            +
              right: 0
         | 
| 78 | 
            +
              padding: $space/2
         | 
| 79 | 
            +
              z-index: 2000
         | 
| 80 | 
            +
              width: 300px
         | 
| 81 | 
            +
              overflow: auto
         | 
| 82 | 
            +
              max-height: 100vh
         | 
| 83 | 
            +
             | 
| 84 | 
            +
              .growl
         | 
| 85 | 
            +
                box-shadow: 0px 0px $space/2 rgba(0, 0, 0, 0.5)
         | 
| 86 | 
            +
                transition: all 0.5s
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                &.show, &.hide
         | 
| 89 | 
            +
                  +fadeInDown
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                &.hide
         | 
| 92 | 
            +
                  animation-direction: reverse
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                +growl
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            // Status
         | 
| 97 | 
            +
            // ------
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            .status_bar
         | 
| 100 | 
            +
              +status_bar
         | 
| 101 | 
            +
                .status_bar-status
         | 
| 102 | 
            +
                  +label
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                  &[data-type="status-red"]
         | 
| 105 | 
            +
                    background: map-get($colors, red)
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                  &[data-type="status-orange"]
         | 
| 108 | 
            +
                    background: map-get($colors, orange)
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                  &[data-type="status-yellow"]
         | 
| 111 | 
            +
                    background: map-get($colors, yellow)
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                  &[data-type="status-green"]
         | 
| 114 | 
            +
                    background: map-get($colors, green)
         | 
| 115 | 
            +
             | 
| 116 | 
            +
                  &[data-type="status-blue"]
         | 
| 117 | 
            +
                    background: map-get($colors, blue)
         | 
| 118 | 
            +
             | 
| 119 | 
            +
                  &[data-type="status-violet"]
         | 
| 120 | 
            +
                    background: map-get($colors, violet)
         | 
| 121 | 
            +
             | 
| 122 | 
            +
            // Tabs
         | 
| 123 | 
            +
            // ----
         | 
| 124 | 
            +
             | 
| 125 | 
            +
            [data-panel]
         | 
| 126 | 
            +
              display: none
         | 
| 127 | 
            +
             | 
| 128 | 
            +
              &.open
         | 
| 129 | 
            +
                display: block
         | 
| 130 | 
            +
             | 
| 131 | 
            +
            // Tooltips
         | 
| 132 | 
            +
            // --------
         | 
| 133 | 
            +
             | 
| 134 | 
            +
            =tooltip_base
         | 
| 135 | 
            +
              margin-bottom: 0
         | 
| 136 | 
            +
              position: absolute
         | 
| 137 | 
            +
              display: block
         | 
| 138 | 
            +
              opacity: 0
         | 
| 139 | 
            +
              bottom: 100%
         | 
| 140 | 
            +
              box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.25)
         | 
| 141 | 
            +
              pointer-events: none
         | 
| 142 | 
            +
              max-width: 350px
         | 
| 143 | 
            +
              min-width: 100px
         | 
| 144 | 
            +
              text-align: center
         | 
| 145 | 
            +
              transition: all 0.25s
         | 
| 146 | 
            +
             | 
| 147 | 
            +
            =tooltip_arrow
         | 
| 148 | 
            +
              border-top-style: solid
         | 
| 149 | 
            +
              border-top-width: 10px
         | 
| 150 | 
            +
              border-left: 10px solid transparent
         | 
| 151 | 
            +
              border-right: 10px solid transparent
         | 
| 152 | 
            +
              width: 0px
         | 
| 153 | 
            +
              height: 0px
         | 
| 154 | 
            +
              content: ' '
         | 
| 155 | 
            +
              display: block
         | 
| 156 | 
            +
              background: transparent
         | 
| 157 | 
            +
              position: absolute
         | 
| 158 | 
            +
              left: 50%
         | 
| 159 | 
            +
              margin-left: -8px
         | 
| 160 | 
            +
              opacity: 0
         | 
| 161 | 
            +
             | 
| 162 | 
            +
            =pseudo-tooltip-color($color: $primary-color)
         | 
| 163 | 
            +
              &:after
         | 
| 164 | 
            +
                +label($color)
         | 
| 165 | 
            +
                margin-bottom: 0
         | 
| 166 | 
            +
             | 
| 167 | 
            +
              &:before
         | 
| 168 | 
            +
                border-top-color: $color
         | 
| 169 | 
            +
             | 
| 170 | 
            +
            [data-ks-tooltip]
         | 
| 171 | 
            +
              position: relative
         | 
| 172 | 
            +
             | 
| 173 | 
            +
              +pseudo-tooltip-color
         | 
| 174 | 
            +
             | 
| 175 | 
            +
              &:after
         | 
| 176 | 
            +
                content: attr(data-ks-tooltip)
         | 
| 177 | 
            +
                +tooltip_base
         | 
| 178 | 
            +
                transform: translateY(0px)
         | 
| 179 | 
            +
                z-index: 10
         | 
| 180 | 
            +
             | 
| 181 | 
            +
              &:before
         | 
| 182 | 
            +
                +tooltip_arrow
         | 
| 183 | 
            +
                bottom: 100%
         | 
| 184 | 
            +
                z-index: 100
         | 
| 185 | 
            +
             | 
| 186 | 
            +
              &:hover
         | 
| 187 | 
            +
                &:after, &:before
         | 
| 188 | 
            +
                  opacity: 1
         | 
| 189 | 
            +
             | 
| 190 | 
            +
                &:after
         | 
| 191 | 
            +
                  transform: translateY(-8px)
         | 
| 192 | 
            +
                  transition: transform 0.25s
         | 
| 193 | 
            +
             | 
| 194 | 
            +
              // Positioning
         | 
| 195 | 
            +
             | 
| 196 | 
            +
              &[data-ks-tooltip-position="bottom"]
         | 
| 197 | 
            +
                &:after
         | 
| 198 | 
            +
                  top: 100%
         | 
| 199 | 
            +
                  bottom: auto
         | 
| 200 | 
            +
                  margin-top: 15px
         | 
| 201 | 
            +
                  transform: translateY(-6px)
         | 
| 202 | 
            +
             | 
| 203 | 
            +
                &:before
         | 
| 204 | 
            +
                  transform: rotate(180deg)
         | 
| 205 | 
            +
                  top: 100%
         | 
| 206 | 
            +
                  bottom: auto
         | 
| 207 | 
            +
             | 
| 208 | 
            +
              &[data-ks-tooltip-position="left"]
         | 
| 209 | 
            +
                &:after
         | 
| 210 | 
            +
                  transform: translateY(6px)
         | 
| 211 | 
            +
                  top: 50%
         | 
| 212 | 
            +
                  bottom: auto
         | 
| 213 | 
            +
                  margin:
         | 
| 214 | 
            +
                    top: -19px
         | 
| 215 | 
            +
                    right: 12px
         | 
| 216 | 
            +
                  left: auto
         | 
| 217 | 
            +
                  right: 100%
         | 
| 218 | 
            +
             | 
| 219 | 
            +
                &:before
         | 
| 220 | 
            +
                  transform: rotate(-90deg)
         | 
| 221 | 
            +
                  top: 50%
         | 
| 222 | 
            +
                  margin-top: -4px
         | 
| 223 | 
            +
                  bottom: auto
         | 
| 224 | 
            +
                  left: auto
         | 
| 225 | 
            +
                  right: 100%
         | 
| 226 | 
            +
             | 
| 227 | 
            +
              &[data-ks-tooltip-position="right"]
         | 
| 228 | 
            +
                &:after
         | 
| 229 | 
            +
                  transform: translateY(6px)
         | 
| 230 | 
            +
                  top: 50%
         | 
| 231 | 
            +
                  bottom: auto
         | 
| 232 | 
            +
                  margin:
         | 
| 233 | 
            +
                    top: -19px
         | 
| 234 | 
            +
                    left: 16px
         | 
| 235 | 
            +
                  left: 100%
         | 
| 236 | 
            +
                  right: auto
         | 
| 237 | 
            +
             | 
| 238 | 
            +
                &:before
         | 
| 239 | 
            +
                  transform: rotate(90deg)
         | 
| 240 | 
            +
                  top: 50%
         | 
| 241 | 
            +
                  margin-top: -4px
         | 
| 242 | 
            +
                  margin-left: 4px
         | 
| 243 | 
            +
                  bottom: auto
         | 
| 244 | 
            +
                  left: 100%
         | 
| 245 | 
            +
                  right: auto
         | 
| 246 | 
            +
             | 
| 247 | 
            +
              &[data-ks-tooltip-color="red"]
         | 
| 248 | 
            +
                +pseudo-tooltip-color(map-get($colors, red))
         | 
| 249 | 
            +
             | 
| 250 | 
            +
              &[data-ks-tooltip-color="orange"]
         | 
| 251 | 
            +
                +pseudo-tooltip-color(map-get($colors, orange))
         | 
| 252 | 
            +
             | 
| 253 | 
            +
              &[data-ks-tooltip-color="yellow"]
         | 
| 254 | 
            +
                +pseudo-tooltip-color(map-get($colors, yellow))
         | 
| 255 | 
            +
             | 
| 256 | 
            +
              &[data-ks-tooltip-color="green"]
         | 
| 257 | 
            +
                +pseudo-tooltip-color(map-get($colors, green))
         | 
| 258 | 
            +
             | 
| 259 | 
            +
              &[data-ks-tooltip-color="blue"]
         | 
| 260 | 
            +
                +pseudo-tooltip-color(map-get($colors, blue))
         | 
| 261 | 
            +
             | 
| 262 | 
            +
              &[data-ks-tooltip-color="violet"]
         | 
| 263 | 
            +
                +pseudo-tooltip-color(map-get($colors, violet))
         | 
| 264 | 
            +
             | 
| 265 | 
            +
            .tooltip
         | 
| 266 | 
            +
              +tooltip_base
         | 
| 267 | 
            +
              left: -30px
         | 
| 268 | 
            +
              right: -30px
         | 
| 269 | 
            +
              transform: translateY(8px)
         | 
| 270 | 
            +
              z-index: 10
         | 
| 271 | 
            +
              +label(map-get($colors, blue))
         | 
| 272 | 
            +
              margin: 10px auto
         | 
| 273 | 
            +
             | 
| 274 | 
            +
              &:after
         | 
| 275 | 
            +
                +tooltip_arrow
         | 
| 276 | 
            +
                top: 100%
         | 
| 277 | 
            +
             | 
| 278 | 
            +
              &.tooltip-bottom
         | 
| 279 | 
            +
                top: 100%
         | 
| 280 | 
            +
                bottom: auto
         | 
| 281 | 
            +
             | 
| 282 | 
            +
                &:after
         | 
| 283 | 
            +
                  bottom: 100%
         | 
| 284 | 
            +
                  top: auto
         | 
| 285 | 
            +
                  transform: rotate(180deg)
         | 
| 286 | 
            +
             | 
| 287 | 
            +
              &.tooltip-left
         | 
| 288 | 
            +
                right: 100%
         | 
| 289 | 
            +
                left: auto
         | 
| 290 | 
            +
             | 
| 291 | 
            +
                &:after
         | 
| 292 | 
            +
                  transform: rotate(-90deg)
         | 
| 293 | 
            +
                  left: 100%
         | 
| 294 | 
            +
             | 
| 295 | 
            +
              &.tooltip-right
         | 
| 296 | 
            +
                left: 100%
         | 
| 297 | 
            +
                right: auto
         | 
| 298 | 
            +
             | 
| 299 | 
            +
                &:after
         | 
| 300 | 
            +
                  transform: rotate(90deg)
         | 
| 301 | 
            +
                  left: auto
         | 
| 302 | 
            +
                  right: 100%
         | 
| 303 | 
            +
                  margin:
         | 
| 304 | 
            +
                    left: 0
         | 
| 305 | 
            +
                    right: -8px
         | 
| 306 | 
            +
             | 
| 307 | 
            +
              &.tooltip-right, &.tooltip-left
         | 
| 308 | 
            +
                top: 0
         | 
| 309 | 
            +
                bottom: auto
         | 
| 310 | 
            +
                margin: 0
         | 
| 311 | 
            +
             | 
| 312 | 
            +
                &:after
         | 
| 313 | 
            +
                  top: 8px
         | 
| 314 | 
            +
             | 
| 315 | 
            +
              &.tooltip-red
         | 
| 316 | 
            +
                background-color: map-get($colors, red)
         | 
| 317 | 
            +
             | 
| 318 | 
            +
              &.tooltip-orange
         | 
| 319 | 
            +
                background-color: map-get($colors, orange)
         | 
| 320 | 
            +
             | 
| 321 | 
            +
              &.tooltip-yellow
         | 
| 322 | 
            +
                background-color: map-get($colors, yellow)
         | 
| 323 | 
            +
             | 
| 324 | 
            +
              &.tooltip-green
         | 
| 325 | 
            +
                background-color: map-get($colors, green)
         | 
| 326 | 
            +
             | 
| 327 | 
            +
              &.tooltip-blue
         | 
| 328 | 
            +
                background-color: map-get($colors, blue)
         | 
| 329 | 
            +
             | 
| 330 | 
            +
              &.tooltip-violet
         | 
| 331 | 
            +
                background-color: map-get($colors, violet)
         | 
| 332 | 
            +
             | 
| 333 | 
            +
              &.tooltip-primary
         | 
| 334 | 
            +
                background-color: $primary-color
         | 
| 335 | 
            +
             | 
| 336 | 
            +
              &.tooltip-secondary
         | 
| 337 | 
            +
                background-color: $secondary-color
         | 
| @@ -0,0 +1,148 @@ | |
| 1 | 
            +
            // Still playing with this
         | 
| 2 | 
            +
              $mobile: (
         | 
| 3 | 
            +
                default: 360px,
         | 
| 4 | 
            +
                large: 480px,
         | 
| 5 | 
            +
                larger: 600px,
         | 
| 6 | 
            +
                largest: 768px
         | 
| 7 | 
            +
              )
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            //
         | 
| 10 | 
            +
              $display: (
         | 
| 11 | 
            +
                smallest: 960px,
         | 
| 12 | 
            +
                smaller: 1024px,
         | 
| 13 | 
            +
                small: 1200px,
         | 
| 14 | 
            +
                default: 1400px
         | 
| 15 | 
            +
              )
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            $phone: 360px
         | 
| 18 | 
            +
            $phablet: 480px
         | 
| 19 | 
            +
            $tablet: 768px
         | 
| 20 | 
            +
            $tablet-landscape: 960px
         | 
| 21 | 
            +
            $desktop: 1024px
         | 
| 22 | 
            +
            $large-monitor: 1200px
         | 
| 23 | 
            +
            $xl-monitor: 1400px
         | 
| 24 | 
            +
            $xxl-monitor: 1800px
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            $grid-columns: 12
         | 
| 27 | 
            +
            $grid-gutter: 15px
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            // Grid breakpoints
         | 
| 30 | 
            +
            // ----------------
         | 
| 31 | 
            +
            // Critical breakpoints where offsets and alternative grid styles will
         | 
| 32 | 
            +
            // be displayed
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            $showOffsets:        $tablet-landscape // Offsets render at this breakpoint
         | 
| 35 | 
            +
            $showColumns:        $phablet          // Allow < 12 columns
         | 
| 36 | 
            +
            $showPartialColumns: $tablet           // Simpler alternative to actual columns
         | 
| 37 | 
            +
            $showFullColumns:    $desktop          // Actual user-defined column measurement
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            =container-default($fluid: false)
         | 
| 40 | 
            +
              margin: 0px auto
         | 
| 41 | 
            +
              
         | 
| 42 | 
            +
              @if $fluid == false
         | 
| 43 | 
            +
                max-width: $tablet
         | 
| 44 | 
            +
              padding:
         | 
| 45 | 
            +
                left: $space
         | 
| 46 | 
            +
                right: $space
         | 
| 47 | 
            +
             | 
| 48 | 
            +
              @if $fluid == false
         | 
| 49 | 
            +
                @media screen and (min-width: $showOffsets)
         | 
| 50 | 
            +
                  max-width: $desktop
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                @media screen and (min-width: $xxl-monitor)
         | 
| 53 | 
            +
                  max-width: $large-monitor
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            =row
         | 
| 56 | 
            +
              display: flex
         | 
| 57 | 
            +
              width: 100%
         | 
| 58 | 
            +
              justify-content: flex-start
         | 
| 59 | 
            +
              align-items: stretch
         | 
| 60 | 
            +
              flex-wrap: wrap
         | 
| 61 | 
            +
              margin:
         | 
| 62 | 
            +
                left: -$grid-gutter/2
         | 
| 63 | 
            +
                right: -$grid-gutter/2
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            =measure-columns($columns, $prop)
         | 
| 66 | 
            +
              // TODO: DRY this somehow?
         | 
| 67 | 
            +
              @if $prop == "width"
         | 
| 68 | 
            +
                width: calc(#{percentage($columns/$grid-columns)} - #{$grid-gutter})
         | 
| 69 | 
            +
                margin:
         | 
| 70 | 
            +
                  left: $grid-gutter/2
         | 
| 71 | 
            +
                  right: $grid-gutter/2
         | 
| 72 | 
            +
             | 
| 73 | 
            +
              @else if $prop == "margin-left"
         | 
| 74 | 
            +
                margin-left: calc(#{percentage($columns/$grid-columns)} + #{$grid-gutter/2})
         | 
| 75 | 
            +
             | 
| 76 | 
            +
              @else if $prop == "margin-right"
         | 
| 77 | 
            +
                margin-right: calc(#{percentage($columns/$grid-columns)} - #{(($grid-columns/$columns - 1) * $grid-gutter)/($grid-columns/$columns) - $grid-gutter})
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            =set-offset($columns, $side: "margin-right")
         | 
| 80 | 
            +
              // Never show leftes and rights on mobile
         | 
| 81 | 
            +
              // +measure-columns(0, $side)
         | 
| 82 | 
            +
             | 
| 83 | 
            +
              // Look for keywords
         | 
| 84 | 
            +
              @if $columns == "half"
         | 
| 85 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 86 | 
            +
                  +measure-columns(6, $side)
         | 
| 87 | 
            +
             | 
| 88 | 
            +
              @else if $columns == "third"
         | 
| 89 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 90 | 
            +
                  +measure-columns(6, $side)
         | 
| 91 | 
            +
             | 
| 92 | 
            +
                @media screen and (min-width: $showFullColumns)
         | 
| 93 | 
            +
                  +measure-columns(4, $side)
         | 
| 94 | 
            +
             | 
| 95 | 
            +
              @else if $columns == "twothirds"
         | 
| 96 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 97 | 
            +
                  +measure-columns(6, $side)
         | 
| 98 | 
            +
             | 
| 99 | 
            +
                @media screen and (min-width: $showFullColumns)
         | 
| 100 | 
            +
                  +measure-columns(8, $side)
         | 
| 101 | 
            +
             | 
| 102 | 
            +
              @else
         | 
| 103 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 104 | 
            +
                  +measure-columns($columns, $side)
         | 
| 105 | 
            +
             | 
| 106 | 
            +
            // Convenience mixins
         | 
| 107 | 
            +
            =right($columns)
         | 
| 108 | 
            +
              +set-offset($columns, "margin-right")
         | 
| 109 | 
            +
            =left($columns)
         | 
| 110 | 
            +
              +set-offset($columns, "margin-left")
         | 
| 111 | 
            +
             | 
| 112 | 
            +
            =set-column($columns, $left, $right)
         | 
| 113 | 
            +
              +measure-columns($columns, "width")
         | 
| 114 | 
            +
              clear: none
         | 
| 115 | 
            +
              display: block
         | 
| 116 | 
            +
              // margin-left: 0
         | 
| 117 | 
            +
             | 
| 118 | 
            +
              @if $right != 0
         | 
| 119 | 
            +
                +set-offset($right, "margin-right")
         | 
| 120 | 
            +
             | 
| 121 | 
            +
              @if $left != 0
         | 
| 122 | 
            +
                +set-offset($left, "margin-left")
         | 
| 123 | 
            +
             | 
| 124 | 
            +
            =column($columns: 12, $left: 0, $right: 0)
         | 
| 125 | 
            +
              // Everything is a full width column on mobile by default
         | 
| 126 | 
            +
              +set-column(12, 0, 0)
         | 
| 127 | 
            +
             | 
| 128 | 
            +
              // Look for keywords
         | 
| 129 | 
            +
              @if $columns == "half"
         | 
| 130 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 131 | 
            +
                  +set-column($grid-columns/2, $left, $right)
         | 
| 132 | 
            +
             | 
| 133 | 
            +
              @else if $columns == "third"
         | 
| 134 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 135 | 
            +
                  +set-column($grid-columns/2, $left, $right)
         | 
| 136 | 
            +
                @media screen and (min-width: $showFullColumns)
         | 
| 137 | 
            +
                  +set-column($grid-columns/3, $left, $right)
         | 
| 138 | 
            +
             | 
| 139 | 
            +
              @else if $columns == "twothirds"
         | 
| 140 | 
            +
                @media screen and (min-width: $showPartialColumns)
         | 
| 141 | 
            +
                  +set-column($grid-columns/2, $left, $right)
         | 
| 142 | 
            +
                @media screen and (min-width: $showFullColumns)
         | 
| 143 | 
            +
                  +set-column(($grid-columns * 2/3), $left, $right)
         | 
| 144 | 
            +
             | 
| 145 | 
            +
              @else
         | 
| 146 | 
            +
                // No keywords found, pass in values.
         | 
| 147 | 
            +
                @media screen and (min-width: $showColumns)
         | 
| 148 | 
            +
                  +set-column($columns, $left, $right)
         |