Skip to content

Instantly share code, notes, and snippets.

@csswizardry
Created September 1, 2014 13:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save csswizardry/0bdda992effa0be6f3fd to your computer and use it in GitHub Desktop.
Save csswizardry/0bdda992effa0be6f3fd to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
// ----
// Sass (v3.3.14)
// Compass (v1.0.1)
// ----
$breakpoints: (
'small' '(min-width: 340px)' ,
'medium' '(min-width: 500px)' ,
'large' '(min-width: 660px)' ,
'huge' '(min-width: 1060px)' ,
'giant' '(min-width: 1300px)' ,
'monstrous' '(min-width: 1620px)'
);
$breakpoint-has-widths: ('small', 'medium', 'large', 'huge', 'giant', 'monstrous');
$breakpoint-has-push: ('small', 'medium', 'large', 'huge', 'giant', 'monstrous');
$breakpoint-has-pull: ('small', 'medium', 'large', 'huge', 'giant', 'monstrous');
/*------------------------------------*\
$CSSWIZARDRY-GRIDS
\*------------------------------------*/
/**
* CONTENTS
* INTRODUCTION.........How the grid system works.
* VARIABLES............Your settings.
* MIXINS...............Library mixins.
* GRID SETUP...........Build the grid structure.
* WIDTHS...............Build our responsive widths around our breakpoints.
* PUSH.................Push classes.
* PULL.................Pull classes.
*/
/*------------------------------------*\
$INTRODUCTION
\*------------------------------------*/
/**
* csswizardry grids provides you with widths to suit a number of breakpoints
* designed around devices of a size you specify. Out of the box, csswizardry
* grids caters to the following types of device:
*
* palm -- palm-based devices, like phones and small tablets
* lap -- lap-based devices, like iPads or laptops
* portable -- all of the above
* desk -- stationary devices, like desktop computers
* regular -- any/all types of device
*
* These namespaces are then used in the library to give you the ability to
* manipulate your layouts based around them, for example:
*
<div class="grid__item one-whole lap--one-half desk--one-third">
*
* This would give you a grid item which is 100% width unless it is on a lap
* device, at which point it become 50% wide, or it is on a desktop device, at
* which point it becomes 33.333% width.
*
* csswizardry grids also has push and pull classes which allow you to nudge
* grid items left and right by a defined amount. These follow the same naming
* convention as above, but are prepended by either `push--` or `pull--`, for
* example:
*
`class="grid__item one-half push--one-half"`
*
* This would give you a grid item which is 50% width and pushed over to the
* right by 50%.
*
* All classes in csswizardry grids follow this patten, so you should fairly
* quickly be able to piece together any combinations you can imagine, for
* example:
*
`class="grid__item one-whole lap--one-half desk--one-third push--desk--one-third"`
*
`class="grid__item one-quarter palm--one-half push--palm--one-half"`
*
`class="grid__item palm--one-third desk--five-twelfths"`
*/
/*------------------------------------*\
$VARIABLES
\*------------------------------------*/
/**
* If you are building a non-responsive site but would still like to use
* csswizardry-grids, set this to ‘false’:
*/
$responsive: true !default;
/**
* Is this build mobile first? Setting to ‘true’ means that all grids will be
* 100% width if you do not apply a more specific class to them.
*/
$mobile-first: true !default;
/**
* Set the spacing between your grid items.
*/
$gutter: 24px !default;
/**
* Would you like Sass’ silent classes, or regular CSS classes?
*/
$use-silent-classes: false !default;
/**
* Would you like push and pull classes enabled?
*/
$push: false !default;
$pull: false !default;
/**
* Using `inline-block` means that the grid items need their whitespace removing
* in order for them to work correctly. Set the following to true if you are
* going to achieve this by manually removing/commenting out any whitespace in
* your HTML yourself.
*
* Setting this to false invokes a hack which cannot always be guaranteed,
* please see the following for more detail:
*
* github.com/csswizardry/csswizardry-grids/commit/744d4b23c9d2b77d605b5991e54a397df72e0688
* github.com/csswizardry/inuit.css/issues/170#issuecomment-14859371
*/
$use-markup-fix: true !default;
/**
* Define your breakpoints. The first value is the prefix that shall be used for
* your classes (e.g. `.palm--one-half`), the second value is the media query
* that the breakpoint fires at.
*/
$breakpoints: (
'palm' '(max-width: 480px)',
'lap' '(min-width: 481px) and (max-width: 1023px)',
'portable' '(max-width: 1023px)',
'desk' '(min-width: 1024px)'
) !default;
/**
* Define which namespaced breakpoints you would like to generate for each of
* widths, push and pull. This is handy if you only need pull on, say, desk, or
* you only need a new width breakpoint at mobile sizes. It allows you to only
* compile as much CSS as you need. All are turned on by default, but you can
* add and remove breakpoints at will.
*
* Push and pull shall only be used if `$push` and/or `$pull` and `$responsive`
* have been set to ‘true’.
*/
$breakpoint-has-widths: ('palm', 'lap', 'portable', 'desk') !default;
$breakpoint-has-push: ('palm', 'lap', 'portable', 'desk') !default;
$breakpoint-has-pull: ('palm', 'lap', 'portable', 'desk') !default;
/**
* You do not need to edit anything from this line onward; csswizardry-grids is
* good to go. Happy griddin’!
*/
$class-type: if($use-silent-classes, unquote("%"), unquote("."));
/*------------------------------------*\
$MIXINS
\*------------------------------------*/
/**
* These mixins are for the library to use only, you should not need to modify
* them at all.
*
* Enclose a block of code with a media query as named in `$breakpoints`.
*/
@mixin grid-media-query($media-query) {
$breakpoint-found: false;
@each $breakpoint in $breakpoints {
$name: nth($breakpoint, 1);
$declaration: nth($breakpoint, 2);
@if $media-query == $name and $declaration {
$breakpoint-found: true;
@media only screen and #{$declaration} {
@content;
}
}
}
@if not $breakpoint-found {
@warn "Breakpoint ‘#{$media-query}’ does not exist";
}
}
/**
* Drop relative positioning into silent classes which can’t take advantage of
* the `[class*="push--"]` and `[class*="pull--"]` selectors.
*/
@mixin silent-relative {
@if $use-silent-classes {
position:relative;
}
}
/*------------------------------------*\
$GRID SETUP
\*------------------------------------*/
/**
* 1. Allow the grid system to be used on lists.
* 2. Remove any margins and paddings that might affect the grid system.
* 3. Apply a negative `margin-left` to negate the columns’ gutters.
*/
#{$class-type}grid {
list-style:none; /* [1] */
margin:0; /* [2] */
padding:0; /* [2] */
margin-left:-$gutter; /* [3] */
@if not $use-markup-fix {
letter-spacing:-0.31em;
}
}
@if not $use-markup-fix {
/* Opera hack */
.opera:-o-prefocus,
#{$class-type}grid {
word-spacing:-0.43em;
}
}
/**
* 1. Cause columns to stack side-by-side.
* 2. Space columns apart.
* 3. Align columns to the tops of each other.
* 4. Full-width unless told to behave otherwise.
* 5. Required to combine fluid widths and fixed gutters.
*/
#{$class-type}grid__item {
display:inline-block; /* [1] */
padding-left:$gutter; /* [2] */
vertical-align:top; /* [3] */
@if $mobile-first {
width:100%; /* [4] */
}
-webkit-box-sizing:border-box; /* [5] */
-moz-box-sizing:border-box; /* [5] */
box-sizing:border-box; /* [5] */
@if not $use-markup-fix {
letter-spacing:normal;
word-spacing:normal;
}
}
/**
* Reversed grids allow you to structure your source in the opposite order to
* how your rendered layout will appear. Extends `.grid`.
*/
#{$class-type}grid--rev {
direction:rtl;
text-align:left;
> #{$class-type}grid__item {
direction:ltr;
text-align:left;
}
}
/**
* Gutterless grids have all the properties of regular grids, minus any spacing.
* Extends `.grid`.
*/
#{$class-type}grid--full {
margin-left:0;
> #{$class-type}grid__item {
padding-left:0;
}
}
/**
* Align the entire grid to the right. Extends `.grid`.
*/
#{$class-type}grid--right {
text-align:right;
> #{$class-type}grid__item {
text-align:left;
}
}
/**
* Centered grids align grid items centrally without needing to use push or pull
* classes. Extends `.grid`.
*/
#{$class-type}grid--center {
text-align:center;
> #{$class-type}grid__item {
text-align:left;
}
}
/**
* Align grid cells vertically (`.grid--middle` or `.grid--bottom`). Extends
* `.grid`.
*/
#{$class-type}grid--middle {
> #{$class-type}grid__item {
vertical-align:middle;
}
}
#{$class-type}grid--bottom {
> #{$class-type}grid__item {
vertical-align:bottom;
}
}
/**
* Create grids with narrower gutters. Extends `.grid`.
*/
#{$class-type}grid--narrow {
margin-left:-($gutter / 2);
> #{$class-type}grid__item {
padding-left:$gutter / 2;
}
}
/**
* Create grids with wider gutters. Extends `.grid`.
*/
#{$class-type}grid--wide {
margin-left:-($gutter * 2);
> #{$class-type}grid__item {
padding-left:$gutter * 2;
}
}
/*------------------------------------*\
$WIDTHS
\*------------------------------------*/
/**
* Create our width classes, prefixed by the specified namespace.
*/
@mixin device-type($namespace:"") {
$prefix: $class-type + $namespace;
/**
* Whole
*/
#{$prefix}one-whole { width:100%; }
/**
* Halves
*/
#{$prefix}one-half { width:50%; }
/**
* Thirds
*/
#{$prefix}one-third { width:33.333%; }
#{$prefix}two-thirds { width:66.666%; }
/**
* Quarters
*/
#{$prefix}one-quarter { width:25%; }
#{$prefix}two-quarters { @extend #{$prefix}one-half; }
#{$prefix}three-quarters { width:75%; }
/**
* Fifths
*/
#{$prefix}one-fifth { width:20%; }
#{$prefix}two-fifths { width:40%; }
#{$prefix}three-fifths { width:60%; }
#{$prefix}four-fifths { width:80%; }
/**
* Sixths
*/
#{$prefix}one-sixth { width:16.666%; }
#{$prefix}two-sixths { @extend #{$prefix}one-third; }
#{$prefix}three-sixths { @extend #{$prefix}one-half; }
#{$prefix}four-sixths { @extend #{$prefix}two-thirds; }
#{$prefix}five-sixths { width:83.333%; }
/**
* Eighths
*/
#{$prefix}one-eighth { width:12.5%; }
#{$prefix}two-eighths { @extend #{$prefix}one-quarter; }
#{$prefix}three-eighths { width:37.5%; }
#{$prefix}four-eighths { @extend #{$prefix}one-half; }
#{$prefix}five-eighths { width:62.5%; }
#{$prefix}six-eighths { @extend #{$prefix}three-quarters; }
#{$prefix}seven-eighths { width:87.5%; }
/**
* Tenths
*/
#{$prefix}one-tenth { width:10%; }
#{$prefix}two-tenths { @extend #{$prefix}one-fifth; }
#{$prefix}three-tenths { width:30%; }
#{$prefix}four-tenths { @extend #{$prefix}two-fifths; }
#{$prefix}five-tenths { @extend #{$prefix}one-half; }
#{$prefix}six-tenths { @extend #{$prefix}three-fifths; }
#{$prefix}seven-tenths { width:70%; }
#{$prefix}eight-tenths { @extend #{$prefix}four-fifths; }
#{$prefix}nine-tenths { width:90%; }
/**
* Twelfths
*/
#{$prefix}one-twelfth { width:8.333%; }
#{$prefix}two-twelfths { @extend #{$prefix}one-sixth; }
#{$prefix}three-twelfths { @extend #{$prefix}one-quarter; }
#{$prefix}four-twelfths { @extend #{$prefix}one-third; }
#{$prefix}five-twelfths { width:41.666% }
#{$prefix}six-twelfths { @extend #{$prefix}one-half; }
#{$prefix}seven-twelfths { width:58.333%; }
#{$prefix}eight-twelfths { @extend #{$prefix}two-thirds; }
#{$prefix}nine-twelfths { @extend #{$prefix}three-quarters; }
#{$prefix}ten-twelfths { @extend #{$prefix}five-sixths; }
#{$prefix}eleven-twelfths { width:91.666%; }
}
/**
* Our regular, non-responsive width classes.
*/
@include device-type;
/**
* Our responsive classes, if we have enabled them.
*/
@if $responsive {
@each $name in $breakpoint-has-widths {
@include grid-media-query($name) {
@include device-type('#{$name}--');
}
}
}
/*------------------------------------*\
$PUSH
\*------------------------------------*/
/**
* Push classes, to move grid items over to the right by certain amounts.
*/
@mixin push-setup($namespace: "") {
$prefix: $class-type + "push--" + $namespace;
/**
* Whole
*/
#{$prefix}one-whole { left:100%; @include silent-relative; }
/**
* Halves
*/
#{$prefix}one-half { left:50%; @include silent-relative; }
/**
* Thirds
*/
#{$prefix}one-third { left:33.333%; @include silent-relative; }
#{$prefix}two-thirds { left:66.666%; @include silent-relative; }
/**
* Quarters
*/
#{$prefix}one-quarter { left:25%; @include silent-relative; }
#{$prefix}two-quarters { @extend #{$prefix}one-half; }
#{$prefix}three-quarters { left:75%; @include silent-relative; }
/**
* Fifths
*/
#{$prefix}one-fifth { left:20%; @include silent-relative; }
#{$prefix}two-fifths { left:40%; @include silent-relative; }
#{$prefix}three-fifths { left:60%; @include silent-relative; }
#{$prefix}four-fifths { left:80%; @include silent-relative; }
/**
* Sixths
*/
#{$prefix}one-sixth { left:16.666%; @include silent-relative; }
#{$prefix}two-sixths { @extend #{$prefix}one-third; }
#{$prefix}three-sixths { @extend #{$prefix}one-half; }
#{$prefix}four-sixths { @extend #{$prefix}two-thirds; }
#{$prefix}five-sixths { left:83.333%; @include silent-relative; }
/**
* Eighths
*/
#{$prefix}one-eighth { left:12.5%; @include silent-relative; }
#{$prefix}two-eighths { @extend #{$prefix}one-quarter; }
#{$prefix}three-eighths { left:37.5%; @include silent-relative; }
#{$prefix}four-eighths { @extend #{$prefix}one-half; }
#{$prefix}five-eighths { left:62.5%; @include silent-relative; }
#{$prefix}six-eighths { @extend #{$prefix}three-quarters; }
#{$prefix}seven-eighths { left:87.5%; @include silent-relative; }
/**
* Tenths
*/
#{$prefix}one-tenth { left:10%; @include silent-relative; }
#{$prefix}two-tenths { @extend #{$prefix}one-fifth; }
#{$prefix}three-tenths { left:30%; @include silent-relative; }
#{$prefix}four-tenths { @extend #{$prefix}two-fifths; }
#{$prefix}five-tenths { @extend #{$prefix}one-half; }
#{$prefix}six-tenths { @extend #{$prefix}three-fifths; }
#{$prefix}seven-tenths { left:70%; @include silent-relative; }
#{$prefix}eight-tenths { @extend #{$prefix}four-fifths; }
#{$prefix}nine-tenths { left:90%; @include silent-relative; }
/**
* Twelfths
*/
#{$prefix}one-twelfth { left:8.333%; @include silent-relative; }
#{$prefix}two-twelfths { @extend #{$prefix}one-sixth; }
#{$prefix}three-twelfths { @extend #{$prefix}one-quarter; }
#{$prefix}four-twelfths { @extend #{$prefix}one-third; }
#{$prefix}five-twelfths { left:41.666%; @include silent-relative; }
#{$prefix}six-twelfths { @extend #{$prefix}one-half; }
#{$prefix}seven-twelfths { left:58.333%; @include silent-relative; }
#{$prefix}eight-twelfths { @extend #{$prefix}two-thirds; }
#{$prefix}nine-twelfths { @extend #{$prefix}three-quarters; }
#{$prefix}ten-twelfths { @extend #{$prefix}five-sixths; }
#{$prefix}eleven-twelfths { left:91.666%; @include silent-relative; }
}
@if $push {
/**
* Not a particularly great selector, but the DRYest way to do things.
*/
[class*="push--"] { position:relative; }
@include push-setup;
@if $responsive {
@each $name in $breakpoint-has-push {
@include grid-media-query($name) {
@include push-setup('#{$name}--');
}
}
}
}
/*------------------------------------*\
$PULL
\*------------------------------------*/
/**
* Pull classes, to move grid items back to the left by certain amounts.
*/
@mixin pull-setup($namespace: "") {
$prefix: $class-type + "pull--" + $namespace;
/**
* Whole
*/
#{$prefix}one-whole { right:100%; @include silent-relative; }
/**
* Halves
*/
#{$prefix}one-half { right:50%; @include silent-relative; }
/**
* Thirds
*/
#{$prefix}one-third { right:33.333%; @include silent-relative; }
#{$prefix}two-thirds { right:66.666%; @include silent-relative; }
/**
* Quarters
*/
#{$prefix}one-quarter { right:25%; @include silent-relative; }
#{$prefix}two-quarters { @extend #{$prefix}one-half; }
#{$prefix}three-quarters { right:75%; @include silent-relative; }
/**
* Fifths
*/
#{$prefix}one-fifth { right:20%; @include silent-relative; }
#{$prefix}two-fifths { right:40%; @include silent-relative; }
#{$prefix}three-fifths { right:60%; @include silent-relative; }
#{$prefix}four-fifths { right:80%; @include silent-relative; }
/**
* Sixths
*/
#{$prefix}one-sixth { right:16.666%; @include silent-relative; }
#{$prefix}two-sixths { @extend #{$prefix}one-third; }
#{$prefix}three-sixths { @extend #{$prefix}one-half; }
#{$prefix}four-sixths { @extend #{$prefix}two-thirds; }
#{$prefix}five-sixths { right:83.333%; @include silent-relative; }
/**
* Eighths
*/
#{$prefix}one-eighth { right:12.5%; @include silent-relative; }
#{$prefix}two-eighths { @extend #{$prefix}one-quarter; }
#{$prefix}three-eighths { right:37.5%; @include silent-relative; }
#{$prefix}four-eighths { @extend #{$prefix}one-half; }
#{$prefix}five-eighths { right:62.5%; @include silent-relative; }
#{$prefix}six-eighths { @extend #{$prefix}three-quarters; }
#{$prefix}seven-eighths { right:87.5%; @include silent-relative; }
/**
* Tenths
*/
#{$prefix}one-tenth { right:10%; @include silent-relative; }
#{$prefix}two-tenths { @extend #{$prefix}one-fifth; }
#{$prefix}three-tenths { right:30%; @include silent-relative; }
#{$prefix}four-tenths { @extend #{$prefix}two-fifths; }
#{$prefix}five-tenths { @extend #{$prefix}one-half; }
#{$prefix}six-tenths { @extend #{$prefix}three-fifths; }
#{$prefix}seven-tenths { right:70%; @include silent-relative; }
#{$prefix}eight-tenths { @extend #{$prefix}four-fifths; }
#{$prefix}nine-tenths { right:90%; @include silent-relative; }
/**
* Twelfths
*/
#{$prefix}one-twelfth { right:8.333%; @include silent-relative; }
#{$prefix}two-twelfths { @extend #{$prefix}one-sixth; }
#{$prefix}three-twelfths { @extend #{$prefix}one-quarter; }
#{$prefix}four-twelfths { @extend #{$prefix}one-third; }
#{$prefix}five-twelfths { right:41.666%; @include silent-relative; }
#{$prefix}six-twelfths { @extend #{$prefix}one-half; }
#{$prefix}seven-twelfths { right:58.333%; @include silent-relative; }
#{$prefix}eight-twelfths { @extend #{$prefix}two-thirds; }
#{$prefix}nine-twelfths { @extend #{$prefix}three-quarters; }
#{$prefix}ten-twelfths { @extend #{$prefix}five-sixths; }
#{$prefix}eleven-twelfths { right:91.666%; @include silent-relative; }
}
@if $pull {
/**
* Not a particularly great selector, but the DRYest way to do things.
*/
[class*="pull--"] { position:relative; }
@include pull-setup;
@if $responsive {
@each $name in $breakpoint-has-pull {
@include grid-media-query($name) {
@include pull-setup('#{$name}--');
}
}
}
}
@charset "UTF-8";
/*------------------------------------*\
$CSSWIZARDRY-GRIDS
\*------------------------------------*/
/**
* CONTENTS
* INTRODUCTION.........How the grid system works.
* VARIABLES............Your settings.
* MIXINS...............Library mixins.
* GRID SETUP...........Build the grid structure.
* WIDTHS...............Build our responsive widths around our breakpoints.
* PUSH.................Push classes.
* PULL.................Pull classes.
*/
/*------------------------------------*\
$INTRODUCTION
\*------------------------------------*/
/**
* csswizardry grids provides you with widths to suit a number of breakpoints
* designed around devices of a size you specify. Out of the box, csswizardry
* grids caters to the following types of device:
*
* palm -- palm-based devices, like phones and small tablets
* lap -- lap-based devices, like iPads or laptops
* portable -- all of the above
* desk -- stationary devices, like desktop computers
* regular -- any/all types of device
*
* These namespaces are then used in the library to give you the ability to
* manipulate your layouts based around them, for example:
*
<div class="grid__item one-whole lap--one-half desk--one-third">
*
* This would give you a grid item which is 100% width unless it is on a lap
* device, at which point it become 50% wide, or it is on a desktop device, at
* which point it becomes 33.333% width.
*
* csswizardry grids also has push and pull classes which allow you to nudge
* grid items left and right by a defined amount. These follow the same naming
* convention as above, but are prepended by either `push--` or `pull--`, for
* example:
*
`class="grid__item one-half push--one-half"`
*
* This would give you a grid item which is 50% width and pushed over to the
* right by 50%.
*
* All classes in csswizardry grids follow this patten, so you should fairly
* quickly be able to piece together any combinations you can imagine, for
* example:
*
`class="grid__item one-whole lap--one-half desk--one-third push--desk--one-third"`
*
`class="grid__item one-quarter palm--one-half push--palm--one-half"`
*
`class="grid__item palm--one-third desk--five-twelfths"`
*/
/*------------------------------------*\
$VARIABLES
\*------------------------------------*/
/**
* If you are building a non-responsive site but would still like to use
* csswizardry-grids, set this to ‘false’:
*/
/**
* Is this build mobile first? Setting to ‘true’ means that all grids will be
* 100% width if you do not apply a more specific class to them.
*/
/**
* Set the spacing between your grid items.
*/
/**
* Would you like Sass’ silent classes, or regular CSS classes?
*/
/**
* Would you like push and pull classes enabled?
*/
/**
* Using `inline-block` means that the grid items need their whitespace removing
* in order for them to work correctly. Set the following to true if you are
* going to achieve this by manually removing/commenting out any whitespace in
* your HTML yourself.
*
* Setting this to false invokes a hack which cannot always be guaranteed,
* please see the following for more detail:
*
* github.com/csswizardry/csswizardry-grids/commit/744d4b23c9d2b77d605b5991e54a397df72e0688
* github.com/csswizardry/inuit.css/issues/170#issuecomment-14859371
*/
/**
* Define your breakpoints. The first value is the prefix that shall be used for
* your classes (e.g. `.palm--one-half`), the second value is the media query
* that the breakpoint fires at.
*/
/**
* Define which namespaced breakpoints you would like to generate for each of
* widths, push and pull. This is handy if you only need pull on, say, desk, or
* you only need a new width breakpoint at mobile sizes. It allows you to only
* compile as much CSS as you need. All are turned on by default, but you can
* add and remove breakpoints at will.
*
* Push and pull shall only be used if `$push` and/or `$pull` and `$responsive`
* have been set to ‘true’.
*/
/**
* You do not need to edit anything from this line onward; csswizardry-grids is
* good to go. Happy griddin’!
*/
/*------------------------------------*\
$MIXINS
\*------------------------------------*/
/**
* These mixins are for the library to use only, you should not need to modify
* them at all.
*
* Enclose a block of code with a media query as named in `$breakpoints`.
*/
/**
* Drop relative positioning into silent classes which can’t take advantage of
* the `[class*="push--"]` and `[class*="pull--"]` selectors.
*/
/*------------------------------------*\
$GRID SETUP
\*------------------------------------*/
/**
* 1. Allow the grid system to be used on lists.
* 2. Remove any margins and paddings that might affect the grid system.
* 3. Apply a negative `margin-left` to negate the columns’ gutters.
*/
.grid {
list-style: none;
/* [1] */
margin: 0;
/* [2] */
padding: 0;
/* [2] */
margin-left: -24px;
/* [3] */
}
/**
* 1. Cause columns to stack side-by-side.
* 2. Space columns apart.
* 3. Align columns to the tops of each other.
* 4. Full-width unless told to behave otherwise.
* 5. Required to combine fluid widths and fixed gutters.
*/
.grid__item {
display: inline-block;
/* [1] */
padding-left: 24px;
/* [2] */
vertical-align: top;
/* [3] */
width: 100%;
/* [4] */
-webkit-box-sizing: border-box;
/* [5] */
-moz-box-sizing: border-box;
/* [5] */
box-sizing: border-box;
/* [5] */
}
/**
* Reversed grids allow you to structure your source in the opposite order to
* how your rendered layout will appear. Extends `.grid`.
*/
.grid--rev {
direction: rtl;
text-align: left;
}
.grid--rev > .grid__item {
direction: ltr;
text-align: left;
}
/**
* Gutterless grids have all the properties of regular grids, minus any spacing.
* Extends `.grid`.
*/
.grid--full {
margin-left: 0;
}
.grid--full > .grid__item {
padding-left: 0;
}
/**
* Align the entire grid to the right. Extends `.grid`.
*/
.grid--right {
text-align: right;
}
.grid--right > .grid__item {
text-align: left;
}
/**
* Centered grids align grid items centrally without needing to use push or pull
* classes. Extends `.grid`.
*/
.grid--center {
text-align: center;
}
.grid--center > .grid__item {
text-align: left;
}
/**
* Align grid cells vertically (`.grid--middle` or `.grid--bottom`). Extends
* `.grid`.
*/
.grid--middle > .grid__item {
vertical-align: middle;
}
.grid--bottom > .grid__item {
vertical-align: bottom;
}
/**
* Create grids with narrower gutters. Extends `.grid`.
*/
.grid--narrow {
margin-left: -12px;
}
.grid--narrow > .grid__item {
padding-left: 12px;
}
/**
* Create grids with wider gutters. Extends `.grid`.
*/
.grid--wide {
margin-left: -48px;
}
.grid--wide > .grid__item {
padding-left: 48px;
}
/*------------------------------------*\
$WIDTHS
\*------------------------------------*/
/**
* Create our width classes, prefixed by the specified namespace.
*/
/**
* Our regular, non-responsive width classes.
*/
/**
* Whole
*/
.one-whole {
width: 100%;
}
/**
* Halves
*/
.one-half, .two-quarters, .three-sixths, .four-eighths, .five-tenths, .six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.one-third, .two-sixths, .four-twelfths {
width: 33.333%;
}
.two-thirds, .four-sixths, .eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.one-quarter, .two-eighths, .three-twelfths {
width: 25%;
}
.three-quarters, .six-eighths, .nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.one-fifth, .two-tenths {
width: 20%;
}
.two-fifths, .four-tenths {
width: 40%;
}
.three-fifths, .six-tenths {
width: 60%;
}
.four-fifths, .eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.one-sixth, .two-twelfths {
width: 16.666%;
}
.five-sixths, .ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.one-eighth {
width: 12.5%;
}
.three-eighths {
width: 37.5%;
}
.five-eighths {
width: 62.5%;
}
.seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.one-tenth {
width: 10%;
}
.three-tenths {
width: 30%;
}
.seven-tenths {
width: 70%;
}
.nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.one-twelfth {
width: 8.333%;
}
.five-twelfths {
width: 41.666%;
}
.seven-twelfths {
width: 58.333%;
}
.eleven-twelfths {
width: 91.666%;
}
/**
* Our responsive classes, if we have enabled them.
*/
@media only screen and (min-width: 340px) {
/**
* Whole
*/
.small--one-whole {
width: 100%;
}
/**
* Halves
*/
.small--one-half, .small--two-quarters, .small--three-sixths, .small--four-eighths, .small--five-tenths, .small--six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.small--one-third, .small--two-sixths, .small--four-twelfths {
width: 33.333%;
}
.small--two-thirds, .small--four-sixths, .small--eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.small--one-quarter, .small--two-eighths, .small--three-twelfths {
width: 25%;
}
.small--three-quarters, .small--six-eighths, .small--nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.small--one-fifth, .small--two-tenths {
width: 20%;
}
.small--two-fifths, .small--four-tenths {
width: 40%;
}
.small--three-fifths, .small--six-tenths {
width: 60%;
}
.small--four-fifths, .small--eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.small--one-sixth, .small--two-twelfths {
width: 16.666%;
}
.small--five-sixths, .small--ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.small--one-eighth {
width: 12.5%;
}
.small--three-eighths {
width: 37.5%;
}
.small--five-eighths {
width: 62.5%;
}
.small--seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.small--one-tenth {
width: 10%;
}
.small--three-tenths {
width: 30%;
}
.small--seven-tenths {
width: 70%;
}
.small--nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.small--one-twelfth {
width: 8.333%;
}
.small--five-twelfths {
width: 41.666%;
}
.small--seven-twelfths {
width: 58.333%;
}
.small--eleven-twelfths {
width: 91.666%;
}
}
@media only screen and (min-width: 500px) {
/**
* Whole
*/
.medium--one-whole {
width: 100%;
}
/**
* Halves
*/
.medium--one-half, .medium--two-quarters, .medium--three-sixths, .medium--four-eighths, .medium--five-tenths, .medium--six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.medium--one-third, .medium--two-sixths, .medium--four-twelfths {
width: 33.333%;
}
.medium--two-thirds, .medium--four-sixths, .medium--eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.medium--one-quarter, .medium--two-eighths, .medium--three-twelfths {
width: 25%;
}
.medium--three-quarters, .medium--six-eighths, .medium--nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.medium--one-fifth, .medium--two-tenths {
width: 20%;
}
.medium--two-fifths, .medium--four-tenths {
width: 40%;
}
.medium--three-fifths, .medium--six-tenths {
width: 60%;
}
.medium--four-fifths, .medium--eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.medium--one-sixth, .medium--two-twelfths {
width: 16.666%;
}
.medium--five-sixths, .medium--ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.medium--one-eighth {
width: 12.5%;
}
.medium--three-eighths {
width: 37.5%;
}
.medium--five-eighths {
width: 62.5%;
}
.medium--seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.medium--one-tenth {
width: 10%;
}
.medium--three-tenths {
width: 30%;
}
.medium--seven-tenths {
width: 70%;
}
.medium--nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.medium--one-twelfth {
width: 8.333%;
}
.medium--five-twelfths {
width: 41.666%;
}
.medium--seven-twelfths {
width: 58.333%;
}
.medium--eleven-twelfths {
width: 91.666%;
}
}
@media only screen and (min-width: 660px) {
/**
* Whole
*/
.large--one-whole {
width: 100%;
}
/**
* Halves
*/
.large--one-half, .large--two-quarters, .large--three-sixths, .large--four-eighths, .large--five-tenths, .large--six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.large--one-third, .large--two-sixths, .large--four-twelfths {
width: 33.333%;
}
.large--two-thirds, .large--four-sixths, .large--eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.large--one-quarter, .large--two-eighths, .large--three-twelfths {
width: 25%;
}
.large--three-quarters, .large--six-eighths, .large--nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.large--one-fifth, .large--two-tenths {
width: 20%;
}
.large--two-fifths, .large--four-tenths {
width: 40%;
}
.large--three-fifths, .large--six-tenths {
width: 60%;
}
.large--four-fifths, .large--eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.large--one-sixth, .large--two-twelfths {
width: 16.666%;
}
.large--five-sixths, .large--ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.large--one-eighth {
width: 12.5%;
}
.large--three-eighths {
width: 37.5%;
}
.large--five-eighths {
width: 62.5%;
}
.large--seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.large--one-tenth {
width: 10%;
}
.large--three-tenths {
width: 30%;
}
.large--seven-tenths {
width: 70%;
}
.large--nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.large--one-twelfth {
width: 8.333%;
}
.large--five-twelfths {
width: 41.666%;
}
.large--seven-twelfths {
width: 58.333%;
}
.large--eleven-twelfths {
width: 91.666%;
}
}
@media only screen and (min-width: 1060px) {
/**
* Whole
*/
.huge--one-whole {
width: 100%;
}
/**
* Halves
*/
.huge--one-half, .huge--two-quarters, .huge--three-sixths, .huge--four-eighths, .huge--five-tenths, .huge--six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.huge--one-third, .huge--two-sixths, .huge--four-twelfths {
width: 33.333%;
}
.huge--two-thirds, .huge--four-sixths, .huge--eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.huge--one-quarter, .huge--two-eighths, .huge--three-twelfths {
width: 25%;
}
.huge--three-quarters, .huge--six-eighths, .huge--nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.huge--one-fifth, .huge--two-tenths {
width: 20%;
}
.huge--two-fifths, .huge--four-tenths {
width: 40%;
}
.huge--three-fifths, .huge--six-tenths {
width: 60%;
}
.huge--four-fifths, .huge--eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.huge--one-sixth, .huge--two-twelfths {
width: 16.666%;
}
.huge--five-sixths, .huge--ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.huge--one-eighth {
width: 12.5%;
}
.huge--three-eighths {
width: 37.5%;
}
.huge--five-eighths {
width: 62.5%;
}
.huge--seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.huge--one-tenth {
width: 10%;
}
.huge--three-tenths {
width: 30%;
}
.huge--seven-tenths {
width: 70%;
}
.huge--nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.huge--one-twelfth {
width: 8.333%;
}
.huge--five-twelfths {
width: 41.666%;
}
.huge--seven-twelfths {
width: 58.333%;
}
.huge--eleven-twelfths {
width: 91.666%;
}
}
@media only screen and (min-width: 1300px) {
/**
* Whole
*/
.giant--one-whole {
width: 100%;
}
/**
* Halves
*/
.giant--one-half, .giant--two-quarters, .giant--three-sixths, .giant--four-eighths, .giant--five-tenths, .giant--six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.giant--one-third, .giant--two-sixths, .giant--four-twelfths {
width: 33.333%;
}
.giant--two-thirds, .giant--four-sixths, .giant--eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.giant--one-quarter, .giant--two-eighths, .giant--three-twelfths {
width: 25%;
}
.giant--three-quarters, .giant--six-eighths, .giant--nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.giant--one-fifth, .giant--two-tenths {
width: 20%;
}
.giant--two-fifths, .giant--four-tenths {
width: 40%;
}
.giant--three-fifths, .giant--six-tenths {
width: 60%;
}
.giant--four-fifths, .giant--eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.giant--one-sixth, .giant--two-twelfths {
width: 16.666%;
}
.giant--five-sixths, .giant--ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.giant--one-eighth {
width: 12.5%;
}
.giant--three-eighths {
width: 37.5%;
}
.giant--five-eighths {
width: 62.5%;
}
.giant--seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.giant--one-tenth {
width: 10%;
}
.giant--three-tenths {
width: 30%;
}
.giant--seven-tenths {
width: 70%;
}
.giant--nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.giant--one-twelfth {
width: 8.333%;
}
.giant--five-twelfths {
width: 41.666%;
}
.giant--seven-twelfths {
width: 58.333%;
}
.giant--eleven-twelfths {
width: 91.666%;
}
}
@media only screen and (min-width: 1620px) {
/**
* Whole
*/
.monstrous--one-whole {
width: 100%;
}
/**
* Halves
*/
.monstrous--one-half, .monstrous--two-quarters, .monstrous--three-sixths, .monstrous--four-eighths, .monstrous--five-tenths, .monstrous--six-twelfths {
width: 50%;
}
/**
* Thirds
*/
.monstrous--one-third, .monstrous--two-sixths, .monstrous--four-twelfths {
width: 33.333%;
}
.monstrous--two-thirds, .monstrous--four-sixths, .monstrous--eight-twelfths {
width: 66.666%;
}
/**
* Quarters
*/
.monstrous--one-quarter, .monstrous--two-eighths, .monstrous--three-twelfths {
width: 25%;
}
.monstrous--three-quarters, .monstrous--six-eighths, .monstrous--nine-twelfths {
width: 75%;
}
/**
* Fifths
*/
.monstrous--one-fifth, .monstrous--two-tenths {
width: 20%;
}
.monstrous--two-fifths, .monstrous--four-tenths {
width: 40%;
}
.monstrous--three-fifths, .monstrous--six-tenths {
width: 60%;
}
.monstrous--four-fifths, .monstrous--eight-tenths {
width: 80%;
}
/**
* Sixths
*/
.monstrous--one-sixth, .monstrous--two-twelfths {
width: 16.666%;
}
.monstrous--five-sixths, .monstrous--ten-twelfths {
width: 83.333%;
}
/**
* Eighths
*/
.monstrous--one-eighth {
width: 12.5%;
}
.monstrous--three-eighths {
width: 37.5%;
}
.monstrous--five-eighths {
width: 62.5%;
}
.monstrous--seven-eighths {
width: 87.5%;
}
/**
* Tenths
*/
.monstrous--one-tenth {
width: 10%;
}
.monstrous--three-tenths {
width: 30%;
}
.monstrous--seven-tenths {
width: 70%;
}
.monstrous--nine-tenths {
width: 90%;
}
/**
* Twelfths
*/
.monstrous--one-twelfth {
width: 8.333%;
}
.monstrous--five-twelfths {
width: 41.666%;
}
.monstrous--seven-twelfths {
width: 58.333%;
}
.monstrous--eleven-twelfths {
width: 91.666%;
}
}
/*------------------------------------*\
$PUSH
\*------------------------------------*/
/**
* Push classes, to move grid items over to the right by certain amounts.
*/
/*------------------------------------*\
$PULL
\*------------------------------------*/
/**
* Pull classes, to move grid items back to the left by certain amounts.
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment