12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- $container-max-width: 112rem !default; // 1120px
- .container {
- margin: 0 auto;
- max-width: $container-max-width;
- padding: 0 2rem;
- position: relative;
- width: 100%;
- }
- // Using flexbox for the grid, inspired by Philip Walton:
- // http://philipwalton.github.io/solved-by-flexbox/demos/grids/
- // By default each .column within a .row will evenly take up
- // available width, and the height of each .column with take
- // up the height of the tallest .column in the same .row
- .row {
- display: flex;
- flex-direction: column;
- padding: 0;
- width: 100%;
- &.row-no-padding {
- padding: 0;
- &> .column { padding: 0 }
- }
- &.row-wrap { flex-wrap: wrap }
- // Vertically align every .col in the .row
- &.row-top { align-items: flex-start }
- &.row-bottom { align-items: flex-end }
- &.row-center { align-items: center }
- &.row-stretch { align-items: stretch }
- &.row-baseline { align-items: baseline }
- .column {
- display: block;
- flex: 1 1 auto; // IE 11 requires explicit flex-basis for mobile
- margin-left: 0;
- max-width: 100%;
- width: 100%;
- // Column Offset Percent Sizes
- &.column-offset-10 { margin-left: 10% }
- &.column-offset-20 { margin-left: 20% }
- &.column-offset-25 { margin-left: 25% }
- &.column-offset-33,
- &.column-offset-34 { margin-left: 33.3333% }
- &.column-offset-50 { margin-left: 50% }
- &.column-offset-66,
- &.column-offset-67 { margin-left: 66.6666% }
- &.column-offset-75 { margin-left: 75% }
- &.column-offset-80 { margin-left: 80% }
- &.column-offset-90 { margin-left: 90% }
- // Individual Column Percent Sizes
- &.column-10 { flex: 0 0 10%; max-width: 10% }
- &.column-20 { flex: 0 0 20%; max-width: 20% }
- &.column-25 { flex: 0 0 25%; max-width: 25% }
- &.column-33,
- &.column-34 { flex: 0 0 33.3333%; max-width: 33.3333% }
- &.column-40 { flex: 0 0 40%; max-width: 40% }
- &.column-50 { flex: 0 0 50%; max-width: 50% }
- &.column-60 { flex: 0 0 60%; max-width: 60% }
- &.column-66,
- &.column-67 { flex: 0 0 66.6666%; max-width: 66.6666% }
- &.column-75 { flex: 0 0 75%; max-width: 75% }
- &.column-80 { flex: 0 0 80%; max-width: 80% }
- &.column-90 { flex: 0 0 90%; max-width: 90% }
- // Vertically align an individual .column
- .column-top { align-self: flex-start }
- .column-bottom { align-self: flex-end }
- .column-center { align-self: center }
- } // .column
- } // .row
- // Safari desktop has a `rem` bug, but Safari mobile works
- @media (min-width: 20rem) { // (min-width: 40rem)
- .row {
- flex-direction: row;
- margin-left: -1em;
- width: calc(100% + 2rem);
- .column { margin-bottom: inherit; padding: 0 1rem }
- }
- } // @media
|