master
toutati@free.fr 10 years ago
commit ca38105142

22
.gitattributes vendored

@ -0,0 +1,22 @@
* text=auto !eol
demo/knacsss.html -text
/knacsss.png -text
/paquet.xml -text
sass/README.md -text
sass/helpers/_block-helpers.scss -text
sass/helpers/_layout-helpers.scss -text
sass/helpers/_mixins.scss -text
sass/helpers/_reset.scss -text
sass/helpers/_spacing-helpers.scss -text
sass/knacss.scss -text
sass/modules/_flexbox.scss -text
sass/modules/_forms.scss -text
sass/modules/_grids.scss -text
sass/modules/_icons.scss -text
sass/modules/_layout.scss -text
sass/modules/_messages.scss -text
sass/modules/_tables.scss -text
sass/modules/_typography.scss -text
sass/partials/_iefix.scss -text
sass/partials/_print.scss -text
sass/partials/_rwd.scss -text

@ -0,0 +1,16 @@
<html>
<head>
<title>Démo knacss</title>
[<link rel="stylesheet" href="(#CSS{sass/knacss.css})" type="text/css" />]
</head>
<body>
<h1>Démonstration de knacsss</h1>
<p>
Un hypertexte qui attend d'être enrichi par un lien vers <a href="spip.net">SPIP</a>
</p>
<p> Je suis riche cria le texte! en attendant mieux</p>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,17 @@
<paquet
prefix="knacsss"
categorie="outil"
version="1.0.1"
etat="dev"
compatibilite="[3.0.0;3.0.*]"
logo="knacsss.png"
documentation=""
>
<nom>KNACSS-Sass</nom>
<auteur lien="http://elastick.net">Anne-lise Martenot, elastick.net</auteur>
<credit>http://knacss.com</credit>
<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL 3</licence>
<necessite nom="scssphp" compatibilite="[1.0.4;]" />
<pipeline nom="insert_head" action="insert_head" />
</paquet>

@ -0,0 +1,4 @@
KNACSS-Sass
===========
This is the Sass port of [RaphaelGoetter](https://github.com/RaphaelGoetter)'s [KNACSS](http://knacss.com) framework. To contribute to the vanilla CSS (or LESS) version of KNACSS, please refer to the original repo: [https://github.com/raphaelgoetter/KNACSS](https://github.com/raphaelgoetter/KNACSS).

@ -0,0 +1,38 @@
/**
* Blocks widths
* (percentages and pixels)
*/
%width-helper {
@include mq(small) {
width: auto;
}
}
.w10 { width: 10%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w33 { width: 33.333%; }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w60 { width: 60%; @extend %width-helper; }
.w66 { width: 66.666%; @extend %width-helper; }
.w70 { width: 70%; @extend %width-helper; }
.w75 { width: 75%; @extend %width-helper; }
.w80 { width: 80%; @extend %width-helper; }
.w90 { width: 90%; @extend %width-helper; }
.w100 { width: 100%; @extend %width-helper; }
.w50p { width: 50px; }
.w100p { width: 100px; }
.w150p { width: 150px; }
.w200p { width: 200px; }
.w300p { width: 300px; }
.w400p { width: 400px; }
.w500p { width: 500px; }
.w600p { width: 600px; @extend %width-helper; }
.w700p { width: 700px; @extend %width-helper; }
.w800p { width: 800px; @extend %width-helper; }
.w960p { width: 960px; @extend %width-helper; }
.mw960p { max-width: 960px; }

@ -0,0 +1,153 @@
/*----------------------------*\
* Helpers *
\*----------------------------*/
/**
* .{SIZE}-hidden and .{SIZE}-visible helpers
*/
$breakpoints: large, small, tiny;
@each $size in $breakpoints {
.#{$size}-hidden {
@include mq($size) {
display: none;
}
}
.#{$size}-visible {
display: block;
@include mq($size) {
display: block;
}
}
}
/**
* Clearfix
*/
.clearfix {
&:after {
content: '';
clear: both;
display: table;
}
@if $legacy-support-for-ie {
*zoom: 1;
}
}
/**
* Hidden yet accessible content
*/
.visuallyhidden {
clip: rect(0 0 0 0);
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
border: 0;
position: absolute;
}
/**
* Prevent long strings to break out of their container
*/
.wrap {
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
/**
* Skip links
*/
.skip-links {
position: absolute;
a {
position: absolute;
left: -7000px;
padding: 0.5em;
background: #000;
color:#fff;
text-decoration: none;
&:focus {
position: static;
}
}
}
/**
* Float layout
* module, contains floats (.item is the same)
*/
.mod,
.item {
overflow: hidden;
}
/**
* Blocks that needs to be placed under floats
*/
.clear,
.line,
.row {
clear: both;
}
/**
* Blocks that must contain floats
*/
.clearfix,
.line,
.mod {
@extend .clearfix;
}
/**
* Table layout
*/
.row {
display: table;
table-layout: fixed;
width: 100%;
}
.row > *,
.col {
display: table-cell;
vertical-align: top;
}
/**
* Inline-blocks
*/
.inbl {
@include inline-block(top);
margin-right: -.25em;
}
/* Alignments (blocks and inline) */
/* ------------------------------ */
.left { float: left; }
.right { float: right; }
img.left { margin-right: 1em; }
img.right { margin-left: 1em; }
img.left,
img.right { margin-bottom: 5px; }
.center { margin-left: auto; margin-right: auto; }
.txtleft { text-align: left; }
.txtright { text-align: right; }
.txtcenter { text-align: center; }

@ -0,0 +1,70 @@
/*----------------------------*\
* Mixins *
\*----------------------------*/
/**
* Mixin to handle media queries and retina
*/
@mixin mq($keyword) {
@if $keyword == large {
@media (min-width: 1280px) { @content; }
}
@if $keyword == medium {
@media (min-width: 769px) { @content; }
}
@if $keyword == small {
@media (max-width: 768px) { @content; }
}
@if $keyword == tiny {
@media (max-width: 640px) { @content; }
}
@if $keyword == retina {
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {
@content;
}
}
}
/**
* Mixin to handle REM font sizing with PX fallback
*/
@mixin rem($value, $base: $base-font-size) {
@if $legacy-support-for-ie {
font-size: $value * 1px;
}
font-size: $value / $base * 1rem;
}
/**
* Compass-like inline-block mixin
*/
@mixin inline-block($alignment: none) {
@if $legacy-support-for-mozilla {
display: -moz-inline-stack;
}
display: inline-block;
@if $alignment and $alignment != none {
vertical-align: $alignment;
}
@if $legacy-support-for-ie {
*vertical-align: auto;
zoom: 1;
*display: inline;
}
}
/**
* Mixin to prefix properties
*/
@mixin prefix($property, $value) {
$vendors: "-webkit-", "-moz-", "-ms-", "-o-", "";
@each $v in $vendors {
#{$v}#{$property}: $value;
}
}

@ -0,0 +1,153 @@
/*----------------------------*\
* Soft reset *
\*----------------------------*/
.knacss-debug {
background: pink;
outline: 3px solid maroon;
}
html, body {
margin: 0;
padding: 0;
}
ul, ol {
padding-left: 2em;
&.unstyled {
list-style: none;
}
}
code, pre, samp, kbd {
white-space: pre-wrap;
font-family: $monospace-font-stack;
line-height: 1em;
}
code, kbd, mark {
border-radius: 2px;
}
em {
font-style: italic;
}
strong {
font-weight: bold;
}
kbd {
padding: 0 2px;
border: 1px solid #999;
}
code {
padding: 2px 4px;
background: rgba(0,0,0,.04);
color: #b11;
}
mark {
padding:2px 4px;
background: #ff0;
}
sup, sub {
vertical-align: 0;
position: relative;
}
sup {
bottom: 1ex;
}
sub {
top: .5ex;
}
/**
* Avoid top margins on first content element
*/
p, ul, ol dl,
blockquote, pre,
h1, h2, h3, h4, h5, h6 {
&:first-child {
margin-top: 0;
}
}
/**
* Avoid margins on nested elements
*/
li {
p, ul, ol {
margin-top: 0;
margin-bottom: 0;
}
}
/**
* Prevents those to break out of their container
*/
img, table, td,
blockquote, code, pre,
textarea, input, video {
max-width: 100%;
}
/**
* Pictures
* 1. Bugfix for IE8
* 2. Bugfix for Gmap3
* 3. Remove blue border on IE
*/
img {
vertical-align: middle;
width: auto; /* 1 */
:not(.gm-style),
:not(.gmnoscreen),
:not(.gmnoprint) {
& {
height: auto !important; /* 2 */
}
}
.gm-style,
.gmnoscreen,
.gmnoprint {
& {
max-width: none !important; /* 2 */
}
}
a & {
border: 0; /* 3 */
}
}
/**
* Hide script and style tags in case of table mode
*/
body > script,
body > style {
display: none !important;
}
/**
* Force word wrapping on small screens
*/
@include mq(small) {
div, textarea,
table, td, th,
code, pre, samp {
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
}

@ -0,0 +1,49 @@
/**
* Spacing helpers
* p, m = padding,margin
* a, t, r, b, l = all, top, right, bottom, left
* s, m, l, n, 0 = small(10px), medium(20px), large(30px), zero or none(0)
* Source: https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css
*/
.m-reset, .ma0 { margin: 0 !important; }
.p-reset, .pa0 { padding: 0 !important; }
.ma1, .mas { margin: 10px !important; }
.ma2, .mam { margin: 20px !important; }
.ma3, .mal { margin: 30px !important; }
.pa1, .pas { padding: 10px; }
.pa2, .pam { padding: 20px; }
.pa3, .pal { padding: 30px; }
.mt0, .mtn { margin-top: 0 !important; }
.mt1, .mts { margin-top: 10px !important; }
.mt2, .mtm { margin-top: 20px !important; }
.mt3, .mtl { margin-top: 30px !important; }
.mr0, .mrn { margin-right: 0; }
.mr1, .mrs { margin-right: 10px; }
.mr2, .mrm { margin-right: 20px; }
.mr3, .mrl { margin-right: 30px; }
.mb0, .mbn { margin-bottom: 0 !important; }
.mb1, .mbs { margin-bottom: 10px !important; }
.mb2, .mbm { margin-bottom: 20px !important; }
.mb3, .mbl { margin-bottom: 30px !important; }
.ml0, .mln { margin-left: 0; }
.ml1, .mls { margin-left: 10px; }
.ml2, .mlm { margin-left: 20px; }
.ml3, .mll { margin-left: 30px; }
.pt0, .ptn { padding-top: 0; }
.pt1, .pts { padding-top: 10px; }
.pt2, .ptm { padding-top: 20px; }
.pt3, .ptl { padding-top: 30px; }
.pr0, .prn { padding-right: 0; }
.pr1, .prs { padding-right: 10px; }
.pr2, .prm { padding-right: 20px; }
.pr3, .prl { padding-right: 30px; }
.pb0, .pbn { padding-bottom: 0; }
.pb1, .pbs { padding-bottom: 10px; }
.pb2, .pbm { padding-bottom: 20px; }
.pb3, .pbl { padding-bottom: 30px; }
.pl0, .pln { padding-left: 0; }
.pl1, .pls { padding-left: 10px; }
.pl2, .plm { padding-left: 20px; }
.pl3, .pll { padding-left: 30px; }

@ -0,0 +1,44 @@
/**
* www.KNACSS.com V2.9 @author: Raphael Goetter, Alsacreations
* Licence CC-BY http://creativecommons.org/licenses/by/3.0/fr/
*
* Sass version maintained by @HugoGiraudel
* https://github.com/HugoGiraudel/KNACSS-Sass
*/
/**
* 1. Enable support for old browsers (IE8-, Firefox 3.6)
* 2. Enable print stylesheet
* 3. Gutter value for grid layouts
* 4. Base font size: must be unitless
* 5. Font stacks
*/
$legacy-support-for-ie: true !default; /* 1 */
$legacy-support-for-mozilla: true !default; /* 1 */
$print-stylesheet: true !default; /* 2 */
$gutter: 20px !default; /* 3 */
$base-font-size: 14 !default; /* 4 */
$regular-font-stack: "Helvetica", "Arial", sans-serif; /* 5 */
$monospace-font-stack: "Consolas", "DejaVu Sans Mono", "Courier", monospace; /* 5 */
@import "sass/helpers/mixins"; // Sass only
@import "sass/helpers/reset"; // Home made reset
@import "sass/helpers/spacing-helpers"; // A couple of spacing-related helper classes
@import "sass/helpers/layout-helpers"; // A couple of layout-related helper classes and Sass placeholder
@import "sass/helpers/block-helpers"; // A couple of block-related helper classes
@import "sass/modules/grids"; // Small grid system
@import "sass/modules/tables"; // Tables
@import "sass/modules/forms"; // Forms
@import "sass/modules/icons"; // Icons (unicode based) and bullets
@import "sass/modules/messages"; // Message system
@import "sass/modules/layout"; // Layout
@import "sass/modules/flexbox"; // Flexbox helpers
@import "sass/modules/typography"; // Typography baseline and vertical rythm
@import "sass/partials/iefix"; // Some IE fixes
@import "sass/partials/print"; // Print stylesheet

@ -0,0 +1,63 @@
/*----------------------------*\
* Flexbox layout *
\*----------------------------*/
.flex {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.flex-h {
-moz-box-orient: horizontal;
-webkit-box-orient: horizontal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.flex-v {
-moz-box-orient: vertical;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.flex-fluid {
-webkit-box-flox: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-moz-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flex-start {
-webkit-box-ordinal-group: -1;
-moz-box-ordinal-group: 0;
-ms-flex-order: -1;
-webkit-order: -1;
-moz-order: -1;
order: -1;
}
.flex-mid {
-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
-moz-order: 1;
order: 1;
}
.flex-end {
-webkit-box-ordinal-group: 42;
-moz-box-ordinal-group: 42;
-ms-flex-order: 42;
-webkit-order: 42;
-moz-order: 42;
order: 42;
}

@ -0,0 +1,131 @@
/*----------------------------*\
* Forms *
\*----------------------------*/
/**
* Thanks to HTML5boilerplate
* Source: github.com/nathansmith/formalize & www.sitepen.com
*/
form,
fieldset {
border: none;
}
/**
* 1. Bugfix alignment
*/
input,
button, select,
label, .btn {
vertical-align: middle; /* 1 */
font-family: inherit;
font-size: inherit;
}
/**
* Form elements
*/
label {
@include inline-block(middle);
cursor: pointer;
}
legend {
border: 0;
white-space: normal;
}
button,
input,
select {
font-family: $regular-font-stack;
font-size: inherit;
margin: 0;
vertical-align: middle;
}
/**
* 1. Removes default vertical scrollbar on empty textarea in IE6/7/8/9
* 2. Prevents horizontal resizing
*/
textarea {
overflow: auto; /* 1 */
min-height: 5em;
font-size: inherit;
font-family: inherit;
vertical-align: top;
resize: vertical; /* 2 */
}
/**
* 1. Clickable input types in iOS
*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer;
-webkit-appearance: button; /* 1 */
}
/**
* 1. Corrects excess space around these inputs in IE8/9
*/
input[type="checkbox"],
input[type="radio"] {
padding: 0; /* 1 */
}
input[type="search"] {
-webkit-appearance: textfield;
}
/**
* Add a slash at the end of this comment
* if select styling bugs on WebKit *
select { -webkit-appearance: none; } /**/
/**
* Removes 'x' on right of search input when text is entered
*/
input[type="search"] {
&::-webkit-search-decoration,
&::-webkit-search-cancel-button,
&::-webkit-search-results-button,
&::-webkit-search-results-decoration {
display: none;
}
}
::-webkit-input-placeholder {
color: #777;
}
input, textarea {
&:-moz-placeholder {
color: #777;
}
}
/**
* Removes inner padding and border in FF3+
*/
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
&::-moz-focus-inner {
border: 0;
padding: 0;
}
}
/**
* Buttons
*/
.btn {
@include inline-block();
font-size: inherit;
font-family: inherit;
}

@ -0,0 +1,127 @@
/*----------------------------*\
* Grids *
\*----------------------------*/
/**
* Grids inspired from SUIT
* https://github.com/suitcss/suit
* Font family hack: https://github.com/raphaelgoetter/KNACSS/issues/37%20
*/
.grid {
overflow: hidden;
font-family: "FreeSans", "Arimo", "Droid Sans", "Helvetica", "Arial", sans-serif;
> * {
display: block;
padding: 0;
margin-left: -$gutter;
text-align: left;
letter-spacing: -.31em;
text-rendering: optimizespeed;
> * {
@include inline-block(top);
width: 100%;
padding-left: $gutter;
margin-left: 0;
text-align: left;
letter-spacing: normal;
word-spacing: normal;
text-rendering: auto;
font-family: $regular-font-stack;
@include mq(tiny) {
width: 100% !important;
}
}
}
}
/**
* 1. Opera hack
*/
.opera:-o-prefocus, /* 1 */
.grid > * {
word-spacing: -.43em;
}
.grid2 > * {
width: 50%;
}
.grid3 > * {
width: 33.333%;
}
.grid4 > * {
width: 25%;
}
.grid5 > * {
width: 20%;
}
.grid6 > * {
width: 16.667%;
}
.grid8 > * {
width: 12.5%;
}
.grid10 > * {
width: 10%;
}
.grid12 > * {
width: 8.333%;
}
/**
* Unequal grids
* (1-2, 2-1, 1-3 and 3-1) for 2 blocks
*/
.grid2-1 > *:first-child,
.grid1-2 > * + * {
width: 66.666%;
}
.grid1-2 > *:first-child,
.grid2-1 > * + * {
width: 33.333%;
}
.grid1-3 > *:first-child,
.grid3-1 > * + * {
width: 25%;
}
.grid3-1 > *:first-child,
.grid1-3 > * + * {
width: 75%;
}
@media (max-width: 1024px) {
.grid5,
.grid6,
.grid8,
.grid10,
.grid12 {
> * {
width: 33.333%;
}
}
}
@include mq(small) {
.grid3,
.grid4,
.grid5,
.grid6,
.grid8,
.grid10,
.grid12 {
> * {
width: 50%;
}
}
}

@ -0,0 +1,163 @@
/*----------------------------*\
* Icons *
\*----------------------------*/
.icon {
@include inline-block();
}
/**
* 1. Future proof; prevent screen-reader from reading it
* 2. Triggers hardware acceleration
*/
.icon:before,
.icon.after:after {
content: "";
@include inline-block(middle);
position: relative;
top: -.1em;
margin: 0 .3em 0 0;
font: 1.4em/1 sans-serif;
color: #000;
text-shadow: 1px 1px 0 rgba(0,0,0,.1);
speak: none; /* 1 */
@include mq(medium) {
font: 1em/0.6 sans-serif;
-webkit-transform: rotateZ(.05deg); /* 2 */
}
}
.icon.after:after {
margin: 0 0 0 8px;
}
.icon.after:before {
content: "" !important;
}
.icon-rate:before,
.icon-rate.after:after {
content: "\2605";
}
.icon-unrate:before,
.icon-unrate.after:after{
content: "\2606";
}
.icon-check:before,
.icon-check.after:after{
content: "\2713";
}
.icon-uncheck:before,
.icon-uncheck.after:after{
content: "\2717";
}
.icon-cloud:before,
.icon-cloud.after:after {
content: "\2601";
}
.icon-dl:before,
.icon-dl.after:after {
content: "\21E3";
font-weight: bold;
}
.icon-cross:before,
.icon-cross.after:after {
content: "\2716";
font-weight: bold;
}
.icon-arrow1:before,
.icon-arrow1.after:after {
content: "\2192";
position: relative;
top: -0.15em;
}
.icon-arrow2:before,
.icon-arrow2.after:after {
content: "\279E";
}
.icon-arrow3:before,
.icon-arrow3.after:after {
content: "\279A";
}
.icon-bracket1:before,
.icon-bracket1.after:after {
content: "\2039";
font-weight: bold;
font-size: 1.6em;
position: relative;
top: -0.15em;
}
.icon-bracket2:before,
.icon-bracket2.after:after {
content: "\203A";
font-weight: bold;
font-size: 1.6em;
position: relative;
top: -0.15em;
}
.icon-up:before,
.icon-up.after:after {
content: "\25B2";
}
.icon-down:before,
.icon-down.after:after {
content: "\25BC";
}
.icon-bull:before,
.icon-bull.after:after {
content: "\2022";
font-size: 1.2em;
top: -0.05em;
}
.icon-bull2:before,
.icon-bull2.after:after {
content: "\25E6";
top: -0.05em;
}
.icon-bull3:before,
.icon-bull3.after:after{
content: "\2023";
font-size: 1.6em;
top: -0.05em;
}
.icon-nav:before,
.icon-nav.after:after {
content: "\2261";
font-weight: bold;
}
.icon-losange:before,
.icon-losange.after:after {
content: "\25C6";
}
.icon-asteri:before,
.icon-asteri.after:after {
content: "\2731";
font-weight: bold;
}
.icon-mail:before,
.icon-mail.after:after {
content: "\2709";
font-size: 1.6em;
top: -.05em;
}

@ -0,0 +1,15 @@
/*----------------------------*\
* Layout *
\*----------------------------*/
/**
* Switching box-model for all elements
* 1. ...and pseudo-elements
*/
*,
*:after, /* 1 */
*:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

@ -0,0 +1,37 @@
/*----------------------------*\
* Messages *
\*----------------------------*/
/**
* Shared classes between all types of messages
*/
%message {
padding: .5em;
border-radius: .1em;
border: 1px solid;
text-shadow: 0 1px 0 rgba(white, .2);
}
/**
* Color scheming based on a single color
*/
@mixin message-scheme($color) {
@extend %message;
color: $color;
background: lighten($color, 38%);
border-color: lighten(adjust-hue($color, -10), 20%);
}
/**
* Message types
*/
$messages-types: ( (error #b94a48),
(info #3a87ad),
(warn #c09853),
(ok #468847) );
@each $type in $messages-types {
.message-#{nth($type, 1)} {
@include message-scheme(nth($type, 2));
}
}

@ -0,0 +1,114 @@
/*----------------------------*\
* Tables *
\*----------------------------*/
$border: 1px solid #ccc; // Default border style for all tables
table,
.table {
max-width : 100%;
table-layout: fixed;
border-collapse: collapse;
vertical-align: top;
}
/**
* 1. Prevent reCAPTCHA from exploding
* See: https://github.com/raphaelgoetter/KNACSS/issues/18
*/
table {
width: 100%;
border: $border;
margin-bottom: 1.5em;
&#recaptcha_table {
table-layout: auto; /* 1 */
}
}
.table {
display: table;
}
caption {
padding: 10px;
color: #555;
font-style: italic;
}
/**
* Remove thead on tiny screens
*/
thead {
@include mq(tiny) {
display: none; /* 1 */
}
}
tr > * + * {
border-left: $border;
}
th,
td {
padding: .3em .8em;
text-align: left;
border-bottom: $border;
@include mq(tiny) {
display: block !important;
width: auto !important;
text-align: left !important;
}
}
td {
color: #333;
}
/**
* Alternate tables
*/
.alternate {
border: 0;
thead tr > * + * {
border-left: 0;
}
tbody tr > * + * {
border-left: $border;
}
}
/**
* Alternate-vert tables
*/
.alternate-vert {
border: 0;
border-right: $border;
tr > :first-child {
border-bottom: 0;
}
tr > * + * {
border-top: $border;
}
}
/**
* Striped tables
*/
.striped tbody tr:nth-child(odd) {
background: #eee;
background: rgba(0, 0, 0, .05);
}
/**
* Striped-vert tables
*/
.striped-vert tr > :first-child {
background: #eee;
background: rgba(0, 0, 0, .05);
}

@ -0,0 +1,76 @@
/* ----------------------------- */
/* ==typography */
/* ----------------------------- */
/**
* 1. Orientation iOS font-size fix
*/
html {
font-family: $regular-font-stack;
line-height: 1.5;
color: #000;
@media (orientation: landscape) and (max-device-width: 768px) {
-webkit-text-size-adjust: 100%; /* 1 */
}
}
/**
* 1. Put the base font-size at 14px
*/
body {
@include rem($base-font-size); /* 1 */
background: white;
}
/**
* Font-sizing for content
* Preserves vertical-rythm
* Source: http://soqr.fr/vertical-rhythm/
*/
p, ul, ol, dl,
blockquote, pre,
td, th,
label, textarea,
caption, figure {
line-height: 1.5;
margin: .75em 0 0;
}
$headings-size: 32 28 24 20 18 16;
@for $i from 1 through length($headings-size) {
$selector : "h#{$i}, .h#{$i}-like";
$visual : nth($headings-size, $i);
$line-height : if($i < 4, 42, 21);
#{$selector} {
margin: 21 / $visual * 1em (0) (0) (0);
line-height: $line-height / $visual;
@include rem($visual);
}
}
/**
* Alternate font-sizing
* .smaller => 10px
* .small => 12px
* .big => 16px
* .bigger => 18px
* .biggest => 20px
*/
$sizes:
smaller 10,
small 12,
big 16,
bigger 18,
biggest 20;
@each $size in $sizes {
$keyword: nth($size, 1);
$size-px: nth($size, 2);
.#{$keyword} {
@include rem($size-px);
}
}

@ -0,0 +1,30 @@
/*----------------------------*\
* IE Fix *
\*----------------------------*/
/**
* HasLayout for IE6/IE7
*/
@if $legacy-support-for-ie {
.row, .col {
*zoom: 1;
}
/**
* Warning: .col needs a width on IE6/IE7
*/
.col {
*display: inline;
*zoom: 1;
}
/**
* Add a slash at the end of this comment
* If you want to enable box-sizing for IE6/IE7
* with a polyfill
* Source: https://github.com/Schepp/box-sizing-polyfill *
* {
behavior: url(/js/boxsizing.htc);
}
/**/
}

@ -0,0 +1,95 @@
/*----------------------------*\
* Print stylesheet *
\*----------------------------*/
@if $print-stylesheet {
@media print {
* {
background: transparent !important;
box-shadow: none !important;
text-shadow: none !important;
}
body {
width: auto !important;
margin: auto !important;
font-family: serif;
font-size: 12pt;
background-color: #fff !important;
color: #000 !important;
}
h1, h2, h3, h4, h5, h6,
p, blockquote,
ul, ol {
color: #000 !important;
margin: auto !important;
}
/**
* Displays possible .print elements
*/
.print {
display: block;
}
/**
* Try turning images to black and white if supported filters
*/
img {
@include prefix(filter, grayscale(100%));
}
/**
* 1. No orphans
* 2. No widows
*/
p,
blockquote {
orphans: 3; /* 1 */
widows: 3; /* 2 */
}
/**
* Prevents breaks inside these elements
*/
blockquote,
ul, ol {
page-break-inside: avoid;
}
/**
* Forces page break before main headers
*/
h1 {
page-break-before: always;
}
/**
* Prevents breaks after these elements
*/
h1, h2, h3,
caption {
page-break-after: avoid;
}
/**
* 1. Displays url after link
* 2. ... unless it's a JS or empty link
*/
a {
color: #000 !important;
text-decoration: underline !important;
&[href]:after {
content: " (" attr(href) ")"; /* 1 */
}
&[href^="javascript:"]:after,
&[href^="#"]:after,
&[href=""] {
content: ''; /* 2 */
}
}
}
}

@ -0,0 +1,107 @@
/* ----------------------------- */
/* ==desktop and retina medias */
/* ----------------------------- */
/* ----------------------------- */
/* ==viewport fixing for RWD */
/* ----------------------------- */
@-webkit-viewport {
width: device-width;
zoom: 1.0;
}
@-moz-viewport {
width: device-width;
zoom: 1.0;
}
@-ms-viewport {
width: device-width;
zoom: 1.0;
}
@-o-viewport {
width: device-width;
zoom: 1.0;
}
@viewport {
width: device-width;
zoom: 1.0;
}
/* ---------------------------------- */
/* ==Responsive large / small / tiny */
/* ---------------------------------- */
@mixin rwd-setup($namespace: "") {
.#{namespace}no-float { float: none; }
.#{namespace}inbl {
@include inline-block(top);
float: none;
}
.#{namespace}row {
display: table !important;
table-layout: fixed !important;
width: 100% !important;
}
.#{namespace}col {
display: table-cell !important;
vertical-align: top !important;
}
/* Widths */
.#{namespace}w25 { width: 25% !important; }
.#{namespace}w33 { width: 33.3333% !important; }
.#{namespace}w50 { width: 50% !important; }
.#{namespace}w66 { width: 66.6666% !important; }
.#{namespace}w75 { width: 75% !important; }
.#{namespace}w100 {
display: block !important;
float: none !important;
clear: none !important;
width: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
border: 0;
}
/* Margins */
.#{namespace}ma0 { margin: 0 !important; }
}
@include mq(large) {
@include rwd-setup("large-");
}
@include mq(small) {
@include rwd-setup("small-");
}
@include mq(tiny) {
/* Quick smartphone reset */
.mod,
.col,
fieldset {
display: block !important;
float: none !important;
clear: none !important;
width: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
border: 0;
}
.w300p,