diff --git a/README.md b/README.md index 2e4bd2e..3ee3b22 100644 --- a/README.md +++ b/README.md @@ -2,105 +2,57 @@ http://www.knacss.com -KNACSS, c'est une sorte de feuille de style CSS "reset" sur-vitaminée qui permet de commencer un projet à partir de zéro tout en tenant compte de bonnes pratiques générales (accessibilité, performance, responsive webdesign). +KNACSS, c'est une sorte de feuille de style CSS "reset" sur-vitaminée qui permet de commencer un projet à partir de zéro tout en tenant compte de bonnes pratiques générales (accessibilité, performance, responsive webdesign, grille de mise en forme). -KNACSS prend en charge les styles de base, mais également la typographie, les modèles de boîte, les alignements et positionnements d'éléments, les grilles de mise en page, dans l'esprit d'être adapté à toutes les tailles d'écran (reponsive). Le tout automatiquement ! +Conçu par l'agence web [Alsacreations.fr](http://alsacreations.fr) et pensé pour être couplé avec des préprocesseurs tel que Sass, le micro-framework KNACSS est employé quotidiennement sur toute sorte de projet web quel que soit son type ou son envergure. -Conçu par l'agence web [Alsacreations.fr](http://alsacreations.fr) et pensé pour être couplé avec des préprocesseurs tel que Sass, le micro-framework KNACSS est employé quotidiennement sur toute sorte de projets web quel que soit son type ou son envergure. +## Documentation + +- [**Documentation et Guide de styles**](https://knacss.com/styleguide.html) +- [**Pense-bête en PDF**](http://knacss.com/KNACSS-cheatsheet.pdf) +- Site web de présentation de KNACSS : http://knacss.com + +## Fonctionnalités + +- reset +- typographie +- Responsive +- grille de mise en forme +- composants (formulaires, tableaux, boutons, flèches, onglets, checkbox, radio et bouton "switch" stylés) +- variables et mixin Sass ## Compatibilité -KNACSS est - dans sa grande majorité - compatible avec l'ensemble des navigateurs desktop et mobiles à partir d'IE10 inclus. +KNACSS est - dans sa grande majorité - compatible avec l'ensemble des navigateurs desktop et mobiles à partir d'IE10 inclus. Pour les détails, se référer à la documentation. ## Installation -Selon votre profil (débutant, utilisateur de Sass, adepte de Bower / npm / yarn), l'installation est différente. +Voir la documentation. -### Vous êtes débutant ou pressé ? +## Mise à jour depuis une version précédente de KNACSS ? -La version courte est "il n'y a rien à installer". +La version `7.*.*` de KNACSS est une version majeure, ce qui implique que certaines fonctionnalités ne sont plus forcément rétro-compatibles avec les versions précédentes. -KNACSS n'est constitué que d'un seul fichier CSS (minifié ou non selon vos goûts) : +Voici les principales modifications dont il faudra tenir compte lors d'une mise à jour : -- en version [CSS classique et lisible](https://raw.githubusercontent.com/raphaelgoetter/KNACSS/master/css/knacss-unminified.css) -- ou en [version minifiée](https://raw.githubusercontent.com/raphaelgoetter/KNACSS/master/css/knacss.css) +### Modifications majeures entre la v7 et la v6 -Si vous ne comptez pas décortiquer le fichier CSS, il est préférable d'opter pour la version minifiée, plus légère. -Il vous suffit ensuite de l'insérer à votre page HTML, avant votre propre feuille de style, bien entendu : +- architecture globale revisitée (vendor, config, library, components) +- variables de projet modifiées et renommées +- refonte complète du système de grille (dorénavant basé sur Grid Layout) +- déplacement des variables de gouttières de grillade.scss vers variables.scss +- déplacement des variables de breakpoints de breakpoints.scss vers variables.scss -```HTML - - - - - Vive les knacks! - - - - - +Pour tous détails, voir le fichier Changelog. - - -``` +### Modifications majeures entre la v6 et la v5 -### Vous préférez Sass ? - -KNACSS est conçu et pensé pour être adapté au préprocesseur Sass. Nos fichiers de travail sont donc par défaut plutôt des `.scss` et non des `.css`. - -Si, comme nous, vous intégrez à l'aide de préprocesseurs, KNACSS va vous faciliter la vie dès le début du projet puisqu'un [dossier de configuration](https://github.com/alsacreations/KNACSS/tree/v6/sass/_config) contenant toutes les variables du projet, les breakpoints et les mixins est intégré. -Libre à vous de modifier ces fichiers selon les contraintes de votre projet. - -La version Sass, à compiler par vos soins, sera bien évidemment plus malléable grâce à l'apport de variables et fonctions. -Vous pouvez également inclure ou non les fichiers partiels qui vous intéressent (tableaux, formulaires, grilles, WordPress, classes utilitaires, etc.). - -Téléchargez [KNACSS complet](https://github.com/alsacreations/KNACSS/archive/master.zip) pour bénéficier de toute l'architecture de l'outil, avec les fichiers Sass, package.json et gulpfile.js si nécessaires. - -### Installation via Bower, npm ou yarn - -- via [Bower](http://bower.io/) : `bower install knacss` -- via [npm](https://www.npmjs.com/) : `npm install knacss` -- via [yarn](https://yarnpkg.com/) : `yarn install knacss` ou `yarn add knacss` - -**Attention**, si vous importez KNACSS automatiquement via Bower, npm ou yarn (par exemple dans un dossier `vendor` ou `node_modules`), les fichiers de configuration (variables par exemple) risquent d'être écrasés à chaque mise à jour de KNACSS. **Nous vous invitons à en faire une copie dans votre dossier de travail et à commenter l'appel au fichier de config de `vendor`**. - - -## Comment débuter ? - -Que vous ayez opté pour la version CSS simple ou la version Sass, il est vivement conseillé de parcourir la [**documentation**](https://github.com/raphaelgoetter/KNACSS/tree/master/doc) détaillée et illustrée avant de vous jeter sur KNACSS. - -Sachez qu'un [**Pense-bête en PDF**](http://knacss.com/KNACSS-cheatsheet.pdf) et un [**Guide de styles**](http://codepen.io/raphaelgoetter/full/LNwOjz/) sont également disponibles pour vous souvenir des classes utiles de KNACSS. - -Dans le cas d'un usage via Sass, vos deux fichiers de travail principaux seront : -- le fichier `sass/_config/_variables.scss` contenant toutes les variables du projet à définir une fois pour toute au départ -- le fichier `sass/knacss.scss` qui importe tous les autres fichiers que vous risquez d'employer dans votre projet. - -En phase d'intégration, il vous suffit de compiler le fichier `sass/knacss.scss` pour obtenir votre fichier CSS final. - - - -### Préfixes navigateurs - -Certaines fonctionnalités avancées de KNACSS nécessitent d'employer toute une panoplie de préfixes CSS (`-webkit-`, `-moz-`, `-ms-`, …) pour être certain que les propriétés CSS fonctionneront partout. - -Au sein de la version classique CSS de KNACSS, l'ensemble des préfixes est présent, **vous n'avez donc pas à vous en soucier** (Autoprefixer réglé à "last 2 versions"). - -**Par contre, dans la version Sass de KNACSS, les préfixes n'apparaissent pas** pour ne pas polluer la lecture du fichier de travail. **Il vous sera donc nécessaire de les ajouter**, de préférence automatiquement grâce à un plugin ou à l'excellent outil qu'est [autoprefixer](https://github.com/postcss/autoprefixer). - -### Mise à jour depuis une version précédente de KNACSS ? - -La version `6.*.*` de KNACSS est une version majeure, ce qui implique que certaines fonctionnalités ne sont plus forcément rétro-compatibles avec les versions précédentes `5.*.*`. - -Voici les principales modifications dont il faudra tenir compte lors d'une bascule vers la version 6 de KNACSS : - -#### Modifications majeures depuis la `5.*.*` - -- le grille de mise en forme a été entièrement modifiée. Détails de modifications: https://github.com/alsacreations/KNACSS/issues/207 +- la grille de mise en forme a été entièrement modifiée. Détails de modifications: https://github.com/alsacreations/KNACSS/issues/207 - les positionnements tabulaires. `.row`, `.col` et `.line`, devenus inutiles et confusants depuis Flexbox, ont été supprimés - de nouvelles valeurs de breakpoints ont été définies. Détails: https://github.com/alsacreations/KNACSS/issues/210 -- suppression de l'outils *include-media* (crée des bugs d'encodage, nécessite un temps d'apprentissage, et n'apporte pas grand chose au final) +- suppression de l'outil *include-media* (crée des bugs d'encodage, nécessite un temps d'apprentissage, et n'apporte pas grand chose au final) -#### Modifications majeures depuis la `4.*.*` +### Modifications majeures entre la v5 et la v4 - suppression de la version LESS (à partir de la version KNACSS 5.0, seul le préprocesseur Sass est encore pris en charge) - suppression des fallbacks pour IE8-IE9 (à partir de la version KNACSS 5.0, seul IE10 et supérieurs sont pris en charge) @@ -109,21 +61,9 @@ Voici les principales modifications dont il faudra tenir compte lors d'une bascu - ajout de la library include-media (http://include-media.com/) - grille "grillade" à présent en mobile first -#### Modifications majeures depuis la `3.*.*` +### Modifications majeures entre la v4 et la v3 - La rétrocompatibilité n'est pas préservée pour certains noms de classes ( `.left`, `.start`, `.fl`, `.table-`, `.flex-start`, `.flex-end`) : `.left` ne correspond plus à un `float: left` mais à un `margin-right: auto`, il faut dorénavant employer `.fl` pour obtenir un flottant à gauche; `.right` ne correspond plus à un `float: right` mais à un `margin-left: auto`, il faut dorénavant employer `.fr` pour obtenir un flottant à droite; `.start` et `.end` n'existent plus - Les noms des conteneurs de grille ont changé et nécessitent systématiquement un trait d'union : ancien nommage : `.grid2`, `.grid1-3`; nouveau nommage : `.grid-2`, `.grid-1-3` - Les classes relatives à flexbox ont été renommées pour ne pas entrer en conflit avec des outils tels que Modernizer (qui ajoutent aux-aussi ce genre de classes). Nouveau nommage : `.flex-container, .flex-container-h`, `.flex-container-v`, `.flex-item-fluid`, `.flex-item-center`, `.flex-item-first, .flex-item-medium, .flex-item-last` - -### Utilisateur de SPIP ? - -Le CMS SPIP impose une classe générique `.fr` sur l'élément ``, or cette classe est également employée pour les positionnements flottants dans KNACSS. - -Si vous êtes un utilisateur de SPIP, nous vous conseillons de modifier les fichiers CSS de KNACSS et de remplacer les classes `.fr` et `.fl` par `:not(html) .fr` et `:not(html) .fl` - -## Liens utiles - -* Site web de KNACSS : http://knacss.com -* [**Documentation détaillée**](https://github.com/raphaelgoetter/KNACSS/tree/master/doc) -* Sur Alsacreations.com : ["découverte du framework KNACSS"](http://www.alsacreations.com/tuto/lire/1577-decouverte-du-framework-css-KNACSS.html) diff --git a/changelog.md b/changelog.md index 8567244..e5eaa42 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,32 @@ +# changelog v7.0.0beta (août - novembre 2017) +- modifications, mises à jour : + - architecture globale revisitée (vendor, config, library, components) + - remplacement de normalize.css par Bootstrap reboot.css + - déplacement des variables de gouttières de grillade.scss vers variables.scss + - déplacement des variables de breakpoints de breakpoints.scss vers variables.scss + - regroupement des styles des tableaux + - renommage des variables couleur de projets + - renommage des variables de composants + - renommage des variables d'espacement (`$tiny-value` -> `$spacer-tiny`) + - automatisation des classes utilitaires via Sass + - suppression du namespace "kna-" +- refonte : + - système de grille (dorénavant basé sur Grid Layout) + - boutons, avec possibilités de variantes (primary, success, warning, etc.) + - styles de formulaires + - styles des tableaux + - l'objet autogrid passe en Grid Layout +- ajouts : + - des badges (tags), avec possibilités de variantes (primary, success, warning, etc.) + - des alertes, avec possibilités de variantes (primary, success, warning, etc.) + - d'un bouton de navigation `.nav-button` + - des checkbox, radio et bouton "switch" stylés + - des onglets (tabs) + - des flèches courantes (haut, droit, bas, gauche) en SVG data-URI + - création d'un mixin de grille + - création d'un mixin de tailles de polices (responsive) + - `* {min-width: 0}` pour éviter la valeur `auto` sur les flex-items et grid-items + # changelog v6.1.2 (21 juin 2017) - alignement des helpers flexbox sur ceux de Bootstrap (`.d-flex`, `.flex-row`, `.flex-column`, `.mr-auto`) - alignement des breakpoints sur ceux de Bootstrap (576, 768, 992, 1200) et réorganisation des intervalles @@ -10,14 +39,14 @@ # changelog v6.1.0 (3 mars 2017) - passage à [Normalize 5.0.0](https://github.com/necolas/normalize.css/blob/5.0.0/CHANGELOG.md) - ajout de variables pour tailles de polices différentes sur petits et sur grands écrans (`$h1-size` et `$h1-size-l` par exemple). Par défaut, les tailles "mobile" sont appliquées, et les tailles "desktop" s'appliquent en min-width `$tiny +1` -- convention de nommage des variables pour faciliter les recherches : `$base-color` devient `$color-base`, `$link-color` devient `$color-link`, etc. +- convention de nommage des variables pour faciliter les recherches : `$base-color` devient `$color-base`, `$link-color` devient `$link-color`, etc. - typo fix # changelog v6.0.8 (10 janvier 2017) -- application de `$color-link-hover` uniquement si différent de `$color-link` +- application de `$link-color-hover` uniquement si différent de `$link-color` # changelog v6.0.7 (7 décembre 2016) -- application de `$font-stack-headings` uniquement si différent de `$font-stack-common` +- application de `$font-family-headings` uniquement si différent de `$font-stack-base` # changelog v6.0.6 (2 décembre 2016) - Grillade : redéfinition du périmètre de `-small` : passe de `(min-width: ($tiny + 1)) and (max-width: $small)` à `(min-width: ($tiny + 1)) and (max-width: $medium)` (de 544px à 991px par défaut) diff --git a/css/grillade-flex.css b/css/grillade-flex.css new file mode 100644 index 0000000..873afb4 --- /dev/null +++ b/css/grillade-flex.css @@ -0,0 +1 @@ +@media (min-width:576px){[class*=" grid-"],[class^=grid-]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}[class*=" grid-"]>*,[class^=grid-]>*{-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0;min-height:0}}@media (min-width:576px){.grid,.grid--reverse{display:-webkit-box;display:-ms-flexbox;display:flex}.grid--reverse>*,.grid>*{-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0;min-height:0}.grid--reverse.has-gutter>*+*,.grid.has-gutter>*+*{margin-left:calc(1rem - .01px)}.grid--reverse.has-gutter-l>*+*,.grid.has-gutter-l>*+*{margin-left:calc(2rem - .01px)}.grid--reverse.has-gutter-xl>*+*,.grid.has-gutter-xl>*+*{margin-left:calc(4rem - .01px)}}@media (min-width:576px){[class*=grid-2]>*{width:calc(100% / 2 - .01px)}[class*=grid-2].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-2].has-gutter>*{width:calc(100% / 2 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-2].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-2].has-gutter-l>*{width:calc(100% / 2 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-2].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-2].has-gutter-xl>*{width:calc(100% / 2 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-3]>*{width:calc(100% / 3 - .01px)}[class*=grid-3].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-3].has-gutter>*{width:calc(100% / 3 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-3].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-3].has-gutter-l>*{width:calc(100% / 3 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-3].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-3].has-gutter-xl>*{width:calc(100% / 3 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-4]>*{width:calc(100% / 4 - .01px)}[class*=grid-4].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-4].has-gutter>*{width:calc(100% / 4 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-4].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-4].has-gutter-l>*{width:calc(100% / 4 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-4].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-4].has-gutter-xl>*{width:calc(100% / 4 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-5]>*{width:calc(100% / 5 - .01px)}[class*=grid-5].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-5].has-gutter>*{width:calc(100% / 5 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-5].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-5].has-gutter-l>*{width:calc(100% / 5 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-5].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-5].has-gutter-xl>*{width:calc(100% / 5 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-6]>*{width:calc(100% / 6 - .01px)}[class*=grid-6].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-6].has-gutter>*{width:calc(100% / 6 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-6].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-6].has-gutter-l>*{width:calc(100% / 6 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-6].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-6].has-gutter-xl>*{width:calc(100% / 6 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-7]>*{width:calc(100% / 7 - .01px)}[class*=grid-7].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-7].has-gutter>*{width:calc(100% / 7 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-7].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-7].has-gutter-l>*{width:calc(100% / 7 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-7].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-7].has-gutter-xl>*{width:calc(100% / 7 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-8]>*{width:calc(100% / 8 - .01px)}[class*=grid-8].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-8].has-gutter>*{width:calc(100% / 8 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-8].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-8].has-gutter-l>*{width:calc(100% / 8 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-8].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-8].has-gutter-xl>*{width:calc(100% / 8 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-9]>*{width:calc(100% / 9 - .01px)}[class*=grid-9].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-9].has-gutter>*{width:calc(100% / 9 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-9].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-9].has-gutter-l>*{width:calc(100% / 9 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-9].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-9].has-gutter-xl>*{width:calc(100% / 9 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-10]>*{width:calc(100% / 10 - .01px)}[class*=grid-10].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-10].has-gutter>*{width:calc(100% / 10 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-10].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-10].has-gutter-l>*{width:calc(100% / 10 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-10].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-10].has-gutter-xl>*{width:calc(100% / 10 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-11]>*{width:calc(100% / 11 - .01px)}[class*=grid-11].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-11].has-gutter>*{width:calc(100% / 11 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-11].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-11].has-gutter-l>*{width:calc(100% / 11 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-11].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-11].has-gutter-xl>*{width:calc(100% / 11 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-12]>*{width:calc(100% / 12 - .01px)}[class*=grid-12].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-12].has-gutter>*{width:calc(100% / 12 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-12].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-12].has-gutter-l>*{width:calc(100% / 12 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-12].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-12].has-gutter-xl>*{width:calc(100% / 12 - 4rem - .01px);margin-right:2rem;margin-left:2rem}}.push{margin-left:auto!important}.pull{margin-right:auto!important}.item-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.item-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}[class*=grid-][class*="--reverse"]{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}@media (min-width:576px){.full{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 1 - .01px)}.has-gutter>.full{width:calc(100% / 1 - 1rem - .01px)}.has-gutter-l>.full{width:calc(100% / 1 - 2rem - .01px)}.has-gutter-xl>.full{width:calc(100% / 1 - 4rem - .01px)}.one-half{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 2 - .01px)}.has-gutter>.one-half{width:calc(100% / 2 - 1rem - .01px)}.has-gutter-l>.one-half{width:calc(100% / 2 - 2rem - .01px)}.has-gutter-xl>.one-half{width:calc(100% / 2 - 4rem - .01px)}.one-third{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3 - .01px)}.has-gutter>.one-third{width:calc(100% / 3 - 1rem - .01px)}.has-gutter-l>.one-third{width:calc(100% / 3 - 2rem - .01px)}.has-gutter-xl>.one-third{width:calc(100% / 3 - 4rem - .01px)}.one-quarter{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 4 - .01px)}.has-gutter>.one-quarter{width:calc(100% / 4 - 1rem - .01px)}.has-gutter-l>.one-quarter{width:calc(100% / 4 - 2rem - .01px)}.has-gutter-xl>.one-quarter{width:calc(100% / 4 - 4rem - .01px)}.one-fifth{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 5 - .01px)}.has-gutter>.one-fifth{width:calc(100% / 5 - 1rem - .01px)}.has-gutter-l>.one-fifth{width:calc(100% / 5 - 2rem - .01px)}.has-gutter-xl>.one-fifth{width:calc(100% / 5 - 4rem - .01px)}.one-sixth{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 6 - .01px)}.has-gutter>.one-sixth{width:calc(100% / 6 - 1rem - .01px)}.has-gutter-l>.one-sixth{width:calc(100% / 6 - 2rem - .01px)}.has-gutter-xl>.one-sixth{width:calc(100% / 6 - 4rem - .01px)}.two-thirds{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3 * 2 - .01px)}.has-gutter>.two-thirds{width:calc(100% / 3 * 2 - 1rem - .01px)}.has-gutter-l>.two-thirds{width:calc(100% / 3 * 2 - 2rem - .01px)}.has-gutter-xl>.two-thirds{width:calc(100% / 3 * 2 - 4rem - .01px)}.three-quarters{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 4 * 3 - .01px)}.has-gutter>.three-quarters{width:calc(100% / 4 * 3 - 1rem - .01px)}.has-gutter-l>.three-quarters{width:calc(100% / 4 * 3 - 2rem - .01px)}.has-gutter-xl>.three-quarters{width:calc(100% / 4 * 3 - 4rem - .01px)}.five-sixths{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 6 * 5 - .01px)}.has-gutter>.five-sixths{width:calc(100% / 6 * 5 - 1rem - .01px)}.has-gutter-l>.five-sixths{width:calc(100% / 6 * 5 - 2rem - .01px)}.has-gutter-xl>.five-sixths{width:calc(100% / 6 * 5 - 4rem - .01px)}}@media (min-width:576px) and (max-width:767px){[class*="-small-1"]>*{width:calc(100% / 1 - .01px)}[class*="-small-1"].has-gutter>*{width:calc(100% / 1 - 1rem - .01px)}[class*="-small-1"].has-gutter-l>*{width:calc(100% / 1 - 2rem - .01px)}[class*="-small-1"].has-gutter-xl>*{width:calc(100% / 1 - 4rem - .01px)}[class*="-small-2"]>*{width:calc(100% / 2 - .01px)}[class*="-small-2"].has-gutter>*{width:calc(100% / 2 - 1rem - .01px)}[class*="-small-2"].has-gutter-l>*{width:calc(100% / 2 - 2rem - .01px)}[class*="-small-2"].has-gutter-xl>*{width:calc(100% / 2 - 4rem - .01px)}[class*="-small-3"]>*{width:calc(100% / 3 - .01px)}[class*="-small-3"].has-gutter>*{width:calc(100% / 3 - 1rem - .01px)}[class*="-small-3"].has-gutter-l>*{width:calc(100% / 3 - 2rem - .01px)}[class*="-small-3"].has-gutter-xl>*{width:calc(100% / 3 - 4rem - .01px)}[class*="-small-4"]>*{width:calc(100% / 4 - .01px)}[class*="-small-4"].has-gutter>*{width:calc(100% / 4 - 1rem - .01px)}[class*="-small-4"].has-gutter-l>*{width:calc(100% / 4 - 2rem - .01px)}[class*="-small-4"].has-gutter-xl>*{width:calc(100% / 4 - 4rem - .01px)}} \ No newline at end of file diff --git a/css/grillade-grid.css b/css/grillade-grid.css new file mode 100644 index 0000000..e3c9580 --- /dev/null +++ b/css/grillade-grid.css @@ -0,0 +1 @@ +@media (min-width:480px){[class*=" grid-"],[class^=grid-]{display:grid;grid-auto-flow:dense}[class*=" grid-"].has-gutter,[class^=grid-].has-gutter{grid-gap:1rem}[class*=" grid-"].has-gutter-l,[class^=grid-].has-gutter-l{grid-gap:2rem}[class*=" grid-"].has-gutter-xl,[class^=grid-].has-gutter-xl{grid-gap:4rem}}[class*=grid-1]{grid-template-columns:repeat(1,1fr)}[class*=grid-2]{grid-template-columns:repeat(2,1fr)}[class*=grid-3]{grid-template-columns:repeat(3,1fr)}[class*=grid-4]{grid-template-columns:repeat(4,1fr)}[class*=grid-5]{grid-template-columns:repeat(5,1fr)}[class*=grid-6]{grid-template-columns:repeat(6,1fr)}[class*=grid-7]{grid-template-columns:repeat(7,1fr)}[class*=grid-8]{grid-template-columns:repeat(8,1fr)}[class*=grid-9]{grid-template-columns:repeat(9,1fr)}[class*=grid-10]{grid-template-columns:repeat(10,1fr)}[class*=grid-11]{grid-template-columns:repeat(11,1fr)}[class*=grid-12]{grid-template-columns:repeat(12,1fr)}[class*=col-1]{grid-column:auto/span 1}[class*=row-1]{grid-row:auto/span 1}[class*=col-2]{grid-column:auto/span 2}[class*=row-2]{grid-row:auto/span 2}[class*=col-3]{grid-column:auto/span 3}[class*=row-3]{grid-row:auto/span 3}[class*=col-4]{grid-column:auto/span 4}[class*=row-4]{grid-row:auto/span 4}[class*=col-5]{grid-column:auto/span 5}[class*=row-5]{grid-row:auto/span 5}[class*=col-6]{grid-column:auto/span 6}[class*=row-6]{grid-row:auto/span 6}[class*=col-7]{grid-column:auto/span 7}[class*=row-7]{grid-row:auto/span 7}[class*=col-8]{grid-column:auto/span 8}[class*=row-8]{grid-row:auto/span 8}[class*=col-9]{grid-column:auto/span 9}[class*=row-9]{grid-row:auto/span 9}[class*=col-10]{grid-column:auto/span 10}[class*=row-10]{grid-row:auto/span 10}[class*=col-11]{grid-column:auto/span 11}[class*=row-11]{grid-row:auto/span 11}[class*=col-12]{grid-column:auto/span 12}[class*=row-12]{grid-row:auto/span 12}@media (min-width:480px) and (max-width:767px){[class*=grid-][class*="-small-1"]{grid-template-columns:repeat(1,1fr)}[class*=col-][class*="-small-1"]{grid-column:auto/span 1}[class*=grid-][class*="-small-2"]{grid-template-columns:repeat(2,1fr)}[class*=col-][class*="-small-2"]{grid-column:auto/span 2}[class*=grid-][class*="-small-3"]{grid-template-columns:repeat(3,1fr)}[class*=col-][class*="-small-3"]{grid-column:auto/span 3}[class*=grid-][class*="-small-4"]{grid-template-columns:repeat(4,1fr)}[class*=col-][class*="-small-4"]{grid-column:auto/span 4}[class*="-small-all"]{grid-column:1/-1}}.item-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.item-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.grid-offset{visibility:hidden}.col-all{grid-column:1/-1}.row-all{grid-row:1/-1} \ No newline at end of file diff --git a/css/grillade.css b/css/grillade.css deleted file mode 100644 index 424ca27..0000000 --- a/css/grillade.css +++ /dev/null @@ -1 +0,0 @@ -@media (min-width:576px){[class*=" grid-"],[class^=grid-]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}[class*=" grid-"]>*,[class^=grid-]>*{box-sizing:border-box;min-width:0;min-height:0}.grid,.grid--reverse{display:-webkit-box;display:-ms-flexbox;display:flex}.grid--reverse>*,.grid>*{-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0;min-height:0}.grid--reverse.has-gutter>*+*,.grid.has-gutter>*+*{margin-left:calc(1rem - .01px)}.grid--reverse.has-gutter-l>*+*,.grid.has-gutter-l>*+*{margin-left:calc(2rem - .01px)}.grid--reverse.has-gutter-xl>*+*,.grid.has-gutter-xl>*+*{margin-left:calc(4rem - .01px)}[class*=grid-2]>*{width:calc(100% / 2 - .01px)}[class*=grid-2].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-2].has-gutter>*{width:calc(100% / 2 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-2].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-2].has-gutter-l>*{width:calc(100% / 2 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-2].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-2].has-gutter-xl>*{width:calc(100% / 2 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-3]>*{width:calc(100% / 3 - .01px)}[class*=grid-3].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-3].has-gutter>*{width:calc(100% / 3 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-3].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-3].has-gutter-l>*{width:calc(100% / 3 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-3].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-3].has-gutter-xl>*{width:calc(100% / 3 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-4]>*{width:calc(100% / 4 - .01px)}[class*=grid-4].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-4].has-gutter>*{width:calc(100% / 4 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-4].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-4].has-gutter-l>*{width:calc(100% / 4 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-4].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-4].has-gutter-xl>*{width:calc(100% / 4 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-5]>*{width:calc(100% / 5 - .01px)}[class*=grid-5].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-5].has-gutter>*{width:calc(100% / 5 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-5].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-5].has-gutter-l>*{width:calc(100% / 5 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-5].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-5].has-gutter-xl>*{width:calc(100% / 5 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-6]>*{width:calc(100% / 6 - .01px)}[class*=grid-6].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-6].has-gutter>*{width:calc(100% / 6 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-6].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-6].has-gutter-l>*{width:calc(100% / 6 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-6].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-6].has-gutter-xl>*{width:calc(100% / 6 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-7]>*{width:calc(100% / 7 - .01px)}[class*=grid-7].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-7].has-gutter>*{width:calc(100% / 7 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-7].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-7].has-gutter-l>*{width:calc(100% / 7 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-7].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-7].has-gutter-xl>*{width:calc(100% / 7 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-8]>*{width:calc(100% / 8 - .01px)}[class*=grid-8].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-8].has-gutter>*{width:calc(100% / 8 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-8].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-8].has-gutter-l>*{width:calc(100% / 8 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-8].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-8].has-gutter-xl>*{width:calc(100% / 8 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-9]>*{width:calc(100% / 9 - .01px)}[class*=grid-9].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-9].has-gutter>*{width:calc(100% / 9 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-9].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-9].has-gutter-l>*{width:calc(100% / 9 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-9].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-9].has-gutter-xl>*{width:calc(100% / 9 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-10]>*{width:calc(100% / 10 - .01px)}[class*=grid-10].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-10].has-gutter>*{width:calc(100% / 10 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-10].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-10].has-gutter-l>*{width:calc(100% / 10 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-10].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-10].has-gutter-xl>*{width:calc(100% / 10 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-11]>*{width:calc(100% / 11 - .01px)}[class*=grid-11].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-11].has-gutter>*{width:calc(100% / 11 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-11].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-11].has-gutter-l>*{width:calc(100% / 11 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-11].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-11].has-gutter-xl>*{width:calc(100% / 11 - 4rem - .01px);margin-right:2rem;margin-left:2rem}[class*=grid-12]>*{width:calc(100% / 12 - .01px)}[class*=grid-12].has-gutter{margin-right:-.5rem;margin-left:-.5rem}[class*=grid-12].has-gutter>*{width:calc(100% / 12 - 1rem - .01px);margin-right:.5rem;margin-left:.5rem}[class*=grid-12].has-gutter-l{margin-right:-1rem;margin-left:-1rem}[class*=grid-12].has-gutter-l>*{width:calc(100% / 12 - 2rem - .01px);margin-right:1rem;margin-left:1rem}[class*=grid-12].has-gutter-xl{margin-right:-2rem;margin-left:-2rem}[class*=grid-12].has-gutter-xl>*{width:calc(100% / 12 - 4rem - .01px);margin-right:2rem;margin-left:2rem}}.push{margin-left:auto!important}.pull{margin-right:auto!important}.item-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.item-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}[class*=grid-][class*="--reverse"]{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}@media (min-width:576px){.full,.one-half{-webkit-box-flex:0}.full{-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 1 - .01px)}.has-gutter>.full{width:calc(100% / 1 - 1rem - .01px)}.has-gutter-l>.full{width:calc(100% / 1 - 2rem - .01px)}.has-gutter-xl>.full{width:calc(100% / 1 - 4rem - .01px)}.one-half{-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 2 - .01px)}.has-gutter>.one-half{width:calc(100% / 2 - 1rem - .01px)}.has-gutter-l>.one-half{width:calc(100% / 2 - 2rem - .01px)}.has-gutter-xl>.one-half{width:calc(100% / 2 - 4rem - .01px)}.one-third{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3 - .01px)}.has-gutter>.one-third{width:calc(100% / 3 - 1rem - .01px)}.has-gutter-l>.one-third{width:calc(100% / 3 - 2rem - .01px)}.has-gutter-xl>.one-third{width:calc(100% / 3 - 4rem - .01px)}.one-quarter{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 4 - .01px)}.has-gutter>.one-quarter{width:calc(100% / 4 - 1rem - .01px)}.has-gutter-l>.one-quarter{width:calc(100% / 4 - 2rem - .01px)}.has-gutter-xl>.one-quarter{width:calc(100% / 4 - 4rem - .01px)}.one-fifth{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 5 - .01px)}.has-gutter>.one-fifth{width:calc(100% / 5 - 1rem - .01px)}.has-gutter-l>.one-fifth{width:calc(100% / 5 - 2rem - .01px)}.has-gutter-xl>.one-fifth{width:calc(100% / 5 - 4rem - .01px)}.one-sixth{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 6 - .01px)}.has-gutter>.one-sixth{width:calc(100% / 6 - 1rem - .01px)}.has-gutter-l>.one-sixth{width:calc(100% / 6 - 2rem - .01px)}.has-gutter-xl>.one-sixth{width:calc(100% / 6 - 4rem - .01px)}.two-thirds{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3 * 2 - .01px)}.has-gutter>.two-thirds{width:calc(100% / 3 * 2 - 1rem - .01px)}.has-gutter-l>.two-thirds{width:calc(100% / 3 * 2 - 2rem - .01px)}.has-gutter-xl>.two-thirds{width:calc(100% / 3 * 2 - 4rem - .01px)}.three-quarters{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 4 * 3 - .01px)}.has-gutter>.three-quarters{width:calc(100% / 4 * 3 - 1rem - .01px)}.has-gutter-l>.three-quarters{width:calc(100% / 4 * 3 - 2rem - .01px)}.has-gutter-xl>.three-quarters{width:calc(100% / 4 * 3 - 4rem - .01px)}.five-sixths{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 6 * 5 - .01px)}.has-gutter>.five-sixths{width:calc(100% / 6 * 5 - 1rem - .01px)}.has-gutter-l>.five-sixths{width:calc(100% / 6 * 5 - 2rem - .01px)}.has-gutter-xl>.five-sixths{width:calc(100% / 6 * 5 - 4rem - .01px)}}@media (min-width:576px) and (max-width:767px){[class*="-small-1"]>*{width:calc(100% / 1 - .01px)}[class*="-small-1"].has-gutter>*{width:calc(100% / 1 - 1rem - .01px)}[class*="-small-1"].has-gutter-l>*{width:calc(100% / 1 - 2rem - .01px)}[class*="-small-1"].has-gutter-xl>*{width:calc(100% / 1 - 4rem - .01px)}[class*="-small-2"]>*{width:calc(100% / 2 - .01px)}[class*="-small-2"].has-gutter>*{width:calc(100% / 2 - 1rem - .01px)}[class*="-small-2"].has-gutter-l>*{width:calc(100% / 2 - 2rem - .01px)}[class*="-small-2"].has-gutter-xl>*{width:calc(100% / 2 - 4rem - .01px)}[class*="-small-3"]>*{width:calc(100% / 3 - .01px)}[class*="-small-3"].has-gutter>*{width:calc(100% / 3 - 1rem - .01px)}[class*="-small-3"].has-gutter-l>*{width:calc(100% / 3 - 2rem - .01px)}[class*="-small-3"].has-gutter-xl>*{width:calc(100% / 3 - 4rem - .01px)}[class*="-small-4"]>*{width:calc(100% / 4 - .01px)}[class*="-small-4"].has-gutter>*{width:calc(100% / 4 - 1rem - .01px)}[class*="-small-4"].has-gutter-l>*{width:calc(100% / 4 - 2rem - .01px)}[class*="-small-4"].has-gutter-xl>*{width:calc(100% / 4 - 4rem - .01px)}} \ No newline at end of file diff --git a/css/knacss-unminified.css b/css/knacss-unminified.css index b2f1023..404b976 100644 --- a/css/knacss-unminified.css +++ b/css/knacss-unminified.css @@ -1,565 +1,432 @@ @charset "UTF-8"; /*! -* www.KNACSS.com v6.1.2 (21 juin 2017) @author: Alsacreations, Raphael Goetter +* www.KNACSS.com v7.0.0 (??? 2017) @author: Alsacreations, Raphael Goetter * Licence WTFPL http://www.wtfpl.net/ */ /* ----------------------------- */ /* ==Table Of Content */ /* ----------------------------- */ -/* 1- Normalize (basic reset) */ -/* 2- Base (basic styles) */ -/* 3- Print (print quick reset) */ -/* 4- Stylings (minor stylings) */ -/* 5- Misc (skip links, hyphens) */ -/* 6- Tables (data tables consistency) */ -/* 7- Forms (forms consistency) */ -/* 8- Media object */ -/* 9- Autogrid object */ -/* 10- Global Layout (alignment, modules, positionning) */ -/* 11- Helpers (width and spacers helpers) */ -/* (12- WordPress reset (disabled by default)) */ -/* 13- Responsive (Responsive Web Design helpers) */ -/* 14- Grid Layout (grillade) */ -/* ---------------------------------- */ -/* ==Normalize (basic reset) */ -/* ---------------------------------- */ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ -/** - * 1. Change the default font family in all browsers (opinionated). - * 2. Correct the line height in all browsers. - * 3. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - */ -/* Document - ========================================================================== */ +/* +1- Reboot (basic reset) +2- Libraries : + - Base + - Print + - Misc (hyphens) + - Layout (alignment, modules, positionning) + - Utilities (width and spacers helpers) + - Responsive helpers + - WordPress reset (disabled by default) + - Grillade (Grid System) +3- Components : + - Media object + - Autogrid object + - Skip Links for accessibility + - Tables + - Forms + - Buttons + - Checkbox + - Tabs + - Tags + - Badges + - Alerts +*/ +*, +*::before, +*::after { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + html { font-family: sans-serif; - /* 1 */ line-height: 1.15; - /* 2 */ - -ms-text-size-adjust: 100%; - /* 3 */ -webkit-text-size-adjust: 100%; - /* 3 */ + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; } -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers (opinionated). - */ body { margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; } -/** - * Add the correct display in IE 9-. - */ -article, -aside, -footer, -header, -nav, -section { - display: block; +[tabindex="-1"]:focus { + outline: none !important; } -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ -/** - * Add the correct display in IE 9-. - * 1. Add the correct display in IE. - */ -figcaption, -figure, -main { - /* 1 */ - display: block; -} - -/** - * Add the correct margin in IE 8. - */ -figure { - margin: 1em 40px; -} - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ hr { - box-sizing: content-box; - /* 1 */ + -webkit-box-sizing: content-box; + box-sizing: content-box; height: 0; - /* 1 */ overflow: visible; - /* 2 */ } -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace, monospace; - /* 1 */ - font-size: 1em; - /* 2 */ +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; } -/* Text-level semantics - ========================================================================== */ -/** - * 1. Remove the gray background on active links in IE 10. - * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. - */ -a { - background-color: transparent; - /* 1 */ - -webkit-text-decoration-skip: objects; - /* 2 */ +p { + margin-top: 0; + margin-bottom: 1rem; } -/** - * Remove the outline on focused links when they are also active or hovered - * in all browsers (opinionated). - */ -a:active, -a:hover { - outline-width: 0; -} - -/** - * 1. Remove the bottom border in Firefox 39-. - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; - /* 1 */ +abbr[title], +abbr[data-original-title] { text-decoration: underline; - /* 2 */ + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; - /* 2 */ + cursor: help; + border-bottom: 0; } -/** - * Prevent the duplicate application of `bolder` by the next rule in Safari 6. - */ -b, -strong { - font-weight: inherit; +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; } -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ b, strong { font-weight: bolder; } -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace, monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} - -/** - * Add the correct font style in Android 4.3-. - */ -dfn { - font-style: italic; -} - -/** - * Add the correct background and color in IE 9-. - */ -mark { - background-color: #ff0; - color: #000; -} - -/** - * Add the correct font size in all browsers. - */ small { font-size: 80%; } -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ sub, sup { + position: relative; font-size: 75%; line-height: 0; - position: relative; vertical-align: baseline; } sub { - bottom: -0.25em; + bottom: -.25em; } sup { - top: -0.5em; + top: -.5em; } -/* Embedded content - ========================================================================== */ -/** - * Add the correct display in IE 9-. - */ -audio, -video { - display: inline-block; +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; } -/** - * Add the correct display in iOS 4-7. - */ -audio:not([controls]) { - display: none; - height: 0; +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; } -/** - * Remove the border on images inside links in IE 10-. - */ img { + vertical-align: middle; border-style: none; } -/** - * Hide the overflow in IE. - */ svg:not(:root) { overflow: hidden; } -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers (opinionated). - * 2. Remove the margin in Firefox and Safari. - */ +a, +area, button, -input, -optgroup, +[role="button"], +input:not([type="range"]), +label, select, +summary, textarea { - font-family: sans-serif; - /* 1 */ - font-size: 100%; - /* 1 */ - line-height: 1.15; - /* 1 */ - margin: 0; - /* 2 */ + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ button, input { - /* 1 */ overflow: visible; } -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ button, select { - /* 1 */ text-transform: none; } -/** - * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` - * controls in Android 4. - * 2. Correct the inability to style clickable types in iOS and Safari. - */ button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; - /* 2 */ } -/** - * Remove the inner border and padding in Firefox. - */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { + padding: 0; border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; padding: 0; } -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; } -/** - * Change the border, margin, and padding in all browsers (opinionated). - */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; - /* 1 */ - color: inherit; - /* 2 */ - display: table; - /* 1 */ - max-width: 100%; - /* 1 */ - padding: 0; - /* 3 */ - white-space: normal; - /* 1 */ -} - -/** - * 1. Add the correct display in IE 9-. - * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ -} - -/** - * Remove the default vertical scrollbar in IE. - */ textarea { overflow: auto; + resize: vertical; } -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; - /* 1 */ +fieldset { + min-width: 0; padding: 0; - /* 2 */ + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; } -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ [type="search"] { - -webkit-appearance: textfield; - /* 1 */ outline-offset: -2px; - /* 2 */ + -webkit-appearance: none; } -/** - * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. - */ [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ ::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ font: inherit; - /* 2 */ + -webkit-appearance: button; } -/* Interactive - ========================================================================== */ -/* - * Add the correct display in IE 9-. - * 1. Add the correct display in Edge, IE, and Firefox. - */ -details, -menu { - display: block; +output { + display: inline-block; } -/* - * Add the correct display in all browsers. - */ summary { display: list-item; } -/* Scripting - ========================================================================== */ -/** - * Add the correct display in IE 9-. - */ -canvas { - display: inline-block; -} - -/** - * Add the correct display in IE. - */ template { display: none; } -/* Hidden - ========================================================================== */ -/** - * Add the correct display in IE 10-. - */ [hidden] { - display: none; + display: none !important; } - /* ----------------------------- */ /* ==Base (basic styles) */ /* ----------------------------- */ /* switching to border-box model for all elements */ html { - box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; } -* { - box-sizing: inherit; +*, +*::before, +*::after { + -webkit-box-sizing: inherit; + box-sizing: inherit; + /* avoid min-width: auto on flex and grid children */ + min-width: 0; + min-height: 0; } html { /* set base font-size to equiv "10px", which is adapted to rem unit */ font-size: 62.5%; /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */ - /* thanks to @guardian, @victorbritopro and @eQRoeil */ font-size: calc(1em * 0.625); } body { + margin: 0; font-size: 1.4rem; background-color: #fff; - color: #000; + color: #212529; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - line-height: 1.4; + line-height: 1.5; } -@media (min-width: 480px) { +@media (min-width: 576px) { body { font-size: 1.6rem; } } -@media (min-width: 480px) { - body { - line-height: 1.5; - } -} - +/* Links */ a { color: #333; + text-decoration: none; } a:focus, a:hover, a:active { - color: #000; -} - -ul, -ol { - padding-left: 2em; -} - -img { - vertical-align: middle; -} - -blockquote, -figure { - margin-left: 0; - margin-right: 0; -} - -/* font-sizing for content */ -p, -.p-like, -ul, -ol, -dl, -blockquote, -pre, -td, -th, -label, -textarea, -caption, -details, -figure { - margin-top: 0.75em; - margin-bottom: 0; - line-height: 1.4; + color: #0d0d0d; + text-decoration: underline; } +/* Headings */ h1, .h1-like { font-size: 2.8rem; font-family: sans-serif; + font-weight: 500; } -@media (min-width: 480px) { +@media (min-width: 576px) { h1, .h1-like { font-size: 3.2rem; } @@ -568,9 +435,10 @@ h1, .h1-like { h2, .h2-like { font-size: 2.4rem; font-family: sans-serif; + font-weight: 500; } -@media (min-width: 480px) { +@media (min-width: 576px) { h2, .h2-like { font-size: 2.8rem; } @@ -578,9 +446,10 @@ h2, .h2-like { h3, .h3-like { font-size: 2rem; + font-weight: 500; } -@media (min-width: 480px) { +@media (min-width: 576px) { h3, .h3-like { font-size: 2.4rem; } @@ -588,9 +457,10 @@ h3, .h3-like { h4, .h4-like { font-size: 1.8rem; + font-weight: 500; } -@media (min-width: 480px) { +@media (min-width: 576px) { h4, .h4-like { font-size: 2rem; } @@ -598,9 +468,10 @@ h4, .h4-like { h5, .h5-like { font-size: 1.6rem; + font-weight: 500; } -@media (min-width: 480px) { +@media (min-width: 576px) { h5, .h5-like { font-size: 1.8rem; } @@ -608,88 +479,50 @@ h5, .h5-like { h6, .h6-like { font-size: 1.4rem; + font-weight: 500; } -@media (min-width: 480px) { +@media (min-width: 576px) { h6, .h6-like { font-size: 1.6rem; } } -/* alternate font-sizing */ -.smaller { - font-size: 0.6em; -} - -.small { - font-size: 0.8em; -} - -.big { - font-size: 1.2em; -} - -.bigger { - font-size: 1.5em; -} - -.biggest { - font-size: 2em; -} - -code, -pre, -samp, -kbd { - /* IE fix */ - white-space: pre-line; - white-space: pre-wrap; - font-family: consolas, courier, monospace; - line-height: normal; -} - -em, -.italic, -address, -cite, -i, -var { - font-style: italic; -} - -/* avoid top margins on first content element */ -p:first-child, -.p-like:first-child, -ul:first-child, -ol:first-child, -dl:first-child, -blockquote:first-child, -pre:first-child, -h1:first-child, -.h1-like:first-child, -h2:first-child, -.h2-like:first-child, -h3:first-child, -.h3-like:first-child, -h4:first-child, -.h4-like:first-child, -h5:first-child, -.h5-like:first-child, -h6:first-child, -.h6-like:first-child { +/* Vertical rythm */ +h1, +h2, +h3, +h4, +h5, +h6, +dd { margin-top: 0; + margin-bottom: 0.5rem; } -/* avoid margins on nested elements */ +p, +address, +ol, +ul, +dl, +blockquote, +pre { + margin-top: 0; + margin-bottom: 1rem; +} + +/* Avoid margins on nested elements */ li p, li .p-like, li ul, -li ol { +li ol, +ol ol, +ul ul { margin-top: 0; margin-bottom: 0; } -/* max values */ +/* Max values */ img, table, td, @@ -707,94 +540,25 @@ img { height: auto; } -/* ----------------------------- */ -/* ==Print (quick print reset) */ -/* ----------------------------- */ -@media print { - * { - background: transparent !important; - box-shadow: none !important; - text-shadow: none !important; - } - body { - width: auto; - margin: auto; - font-family: serif; - font-size: 12pt; - } - p, - .p-like, - h1, - .h1-like, - h2, - .h2-like, - h3, - .h3-like, - h4, - .h4-like, - h5, - .h5-like, - h6, - .h6-like, - blockquote, - ul, - ol { - color: #000; - margin: auto; - } - .print { - display: block; - } - .no-print { - display: none; - } - /* no orphans, no widows */ - p, - .p-like, - blockquote { - orphans: 3; - widows: 3; - } - /* no breaks inside these elements */ - blockquote, - ul, - ol { - page-break-inside: avoid; - } - /* page break before main headers - h1, - .h1-like { - page-break-before: always; - } - */ - /* no breaks after these elements */ - h1, - .h1-like, - h2, - .h2-like, - h3, - .h3-like, - caption { - page-break-after: avoid; - } - a { - color: #000; - } - /* displaying URLs - a[href]::after { - content: " (" attr(href) ")"; - } - */ - a[href^="javascript:"]::after, - a[href^="#"]::after { - content: ""; - } +/* Styling elements */ +ul, +ol { + padding-left: 2em; +} + +img { + vertical-align: middle; +} + +em, +.italic, +address, +cite, +i, +var { + font-style: italic; } -/* ----------------------------- */ -/* ==Stylings (minor stylings) */ -/* ----------------------------- */ -/* styling elements */ code, kbd, mark { @@ -857,7 +621,7 @@ blockquote::before { font-size: 5em; height: .4em; line-height: .9; - color: rgba(0, 0, 0, 0.3); + color: #e7e9ed; } blockquote > footer { @@ -895,49 +659,110 @@ hr { background-color: #ccc; } -/* tables */ -table, -.table { - border: 1px solid #ccc; +blockquote, +figure { + margin-left: 0; + margin-right: 0; } -caption { - padding: 1rem; - color: #555; - font-style: italic; -} - -td, -th { - padding: 0.3em 0.8em; - border: 1px #aaa dotted; - text-align: left; +code, +pre, +samp, +kbd { + white-space: pre-wrap; + font-family: consolas, courier, monospace; + line-height: normal; } /* ----------------------------- */ -/* ==Misc (skip links, hyphens) */ +/* ==Print (quick print reset) */ /* ----------------------------- */ -/* styling skip links */ -.skip-links { - position: absolute; -} - -.skip-links a { - position: absolute; - overflow: hidden; - clip: rect(1px, 1px, 1px, 1px); - padding: 0.5em; - background: black; - color: white; - text-decoration: none; -} - -.skip-links a:focus { - position: static; - overflow: visible; - clip: auto; +@media print { + * { + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none !important; + } + body { + width: auto; + margin: auto; + font-family: serif; + font-size: 12pt; + } + p, + .p-like, + h1, + .h1-like, + h2, + .h2-like, + h3, + .h3-like, + h4, + .h4-like, + h5, + .h5-like, + h6, + .h6-like, + blockquote, + label, + ul, + ol { + color: #000; + margin: auto; + } + .print { + display: block; + } + .no-print { + display: none; + } + /* no orphans, no widows */ + p, + .p-like, + blockquote { + orphans: 3; + widows: 3; + } + /* no breaks inside these elements */ + blockquote, + ul, + ol { + page-break-inside: avoid; + } + /* page break before main headers + h1, + .h1-like { + page-break-before: always; + } + */ + /* no breaks after these elements */ + h1, + .h1-like, + h2, + .h2-like, + h3, + .h3-like, + caption { + page-break-after: avoid; + } + a { + color: #000; + } + /* displaying URLs + a[href]::after { + content: " (" attr(href) ")"; + } + */ + a[href^="javascript:"]::after, + a[href^="#"]::after { + content: ""; + } } +/* ----------------------------- */ +/* ==Misc */ +/* ----------------------------- */ @media (max-width: 575px) { /* you shall not pass */ div, @@ -971,209 +796,7 @@ th { } /* ----------------------------- */ -/* ==Tables */ -/* ----------------------------- */ -table, -.table { - width: 100%; - max-width: 100%; - table-layout: fixed; - border-collapse: collapse; - vertical-align: top; - margin-bottom: 2rem; -} - -.table { - display: table; -} - -#recaptcha_table, -.table-auto { - table-layout: auto; -} - -td, -th { - vertical-align: top; - min-width: 2rem; - cursor: default; -} - -/* ----------------------------- */ -/* ==Forms */ -/* ----------------------------- */ -/* thanks to HTML5boilerplate, -* github.com/nathansmith/formalize and www.sitepen.com -*/ -/* buttons */ -.btn { - display: inline-block; -} - -/* forms items */ -form, -fieldset { - border: none; -} - -input, -button, -select, -label, -.btn { - font-family: inherit; - font-size: inherit; -} - -button, -input, -optgroup, -select, -textarea { - color: #000; -} - -label { - vertical-align: middle; - cursor: pointer; -} - -legend { - border: 0; - white-space: normal; -} - -textarea { - min-height: 5em; - vertical-align: top; - font-family: inherit; - font-size: inherit; - resize: vertical; -} - -select { - -webkit-appearance: menulist-button; -} - -/* if select styling bugs on WebKit */ -/* select { -webkit-appearance: none; } */ -/* 'x' appears on right of search input when text is entered. This removes it */ -input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration { - display: none; -} - -::-webkit-input-placeholder { - color: #777; -} - -input:-moz-placeholder, -textarea:-moz-placeholder { - color: #777; -} - -.btn:focus, -input[type="button"]:focus, -button:focus { - -webkit-tap-highlight-color: transparent; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -/* unstyled forms */ -button.unstyled, -input[type="button"].unstyled, -input[type="submit"].unstyled, -input[type="reset"].unstyled { - padding: 0; - border: none; - line-height: 1; - text-align: left; - background: none; - border-radius: 0; - box-shadow: none; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -button.unstyled:focus, -input[type="button"].unstyled:focus, -input[type="submit"].unstyled:focus, -input[type="reset"].unstyled:focus { - box-shadow: none; - outline: none; -} - -/* Media object */ -/* see http://codepen.io/raphaelgoetter/pen/KMWWwj */ -@media (min-width: 576px) { - .o-media { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - } - .o-media-content { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - min-width: 0; - /* avoid min-width:auto */ - } -} - -/* Media variants */ -@media (min-width: 576px) { - .o-media--reverse { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; - } - .o-media-figure--center { - -ms-flex-item-align: center; - align-self: center; - } -} - -/* Autogrid object */ -/* see http://codepen.io/raphaelgoetter/pen/KMgBJd */ -@media (min-width: 576px) { - [class^="autogrid"], - [class*=" autogrid"] { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - [class^="autogrid"] > *, - [class*=" autogrid"] > * { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - min-width: 0; - /* avoid min-width:auto */ - } -} - -/* Autogrid variants */ -@media (min-width: 576px) { - .has-gutter > *:not(:first-child) { - margin-left: 1rem; - } - [class*="--reverse"] { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; - } -} - -/* ----------------------------- */ -/* ==Global Layout */ +/* ==Global Micro Layout */ /* ----------------------------- */ /* module, gains superpower "BFC" Block Formating Context */ .mod, @@ -1252,8 +875,11 @@ img.fr { /* flexbox layout http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html */ -[class*="flex-container"], -.flex-container, +.flex-container, .flex-container--row, +.flex-row, .flex-container--column, +.flex-column, .flex-container--row-reverse, +.flex-row-reverse, .flex-container--column-reverse, +.flex-column-reverse, .d-flex { display: -webkit-box; display: -ms-flexbox; @@ -1262,7 +888,7 @@ http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html flex-wrap: wrap; } -.flex-container-h, +.flex-container--row, .flex-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; @@ -1270,7 +896,7 @@ http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html flex-direction: row; } -.flex-container-v, +.flex-container--column, .flex-column { -webkit-box-orient: vertical; -webkit-box-direction: normal; @@ -1278,11 +904,33 @@ http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html flex-direction: column; } -.flex-item-fluid { +.flex-container--row-reverse, +.flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.flex-container--column-reverse, +.flex-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.flex-item-fluid, +.item-fluid { -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - min-width: 0; + -ms-flex: 1 1 0%; + flex: 1 1 0%; } .flex-item-first, @@ -1315,16 +963,60 @@ http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html /* ---------------------------------- */ /* ==Helpers */ /* ---------------------------------- */ +/* Typo Helpers */ +/* ------------- */ +.u-bold { + font-weight: 700; +} + +.u-italic { + font-style: italic; +} + +.u-normal { + font-weight: normal; + font-style: normal; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-lowercase { + text-transform: lowercase; +} + +.u-smaller { + font-size: 0.6em; +} + +.u-small { + font-size: 0.8em; +} + +.u-big { + font-size: 1.2em; +} + +.u-bigger { + font-size: 1.5em; +} + +.u-biggest { + font-size: 2em; +} + /* State Helpers */ /* ------------- */ /* invisible for all */ .is-hidden, +.js-hidden, [hidden] { display: none; } /* hidden but not for an assistive technology like a screen reader, Yahoo! method */ -.visually-hidden { +.visually-hidden, .tabs-content-item[aria-hidden="true"] { position: absolute !important; border: 0 !important; height: 1px !important; @@ -1335,10 +1027,12 @@ http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html } .is-disabled, -[disabled] { +.js-disabled, +[disabled], +.is-disabled ~ label, +[disabled] ~ label { opacity: 0.5; - pointer-events: none; - cursor: not-allowed; + cursor: not-allowed !important; -webkit-filter: grayscale(1); filter: grayscale(1); } @@ -1348,123 +1042,199 @@ ul.is-unstyled, ul.unstyled { padding-left: 0; } +.color--inverse { + color: #fff; +} + /* Width Helpers */ /* ------------- */ /* blocks widths (percentage and pixels) */ -.w10 { - width: 10%; +.w100 { + width: 100%; } -.w20 { - width: 20%; -} - -.w25 { - width: 25%; -} - -.w30 { - width: 30%; -} - -.w33 { - width: 33.3333%; -} - -.w40 { - width: 40%; -} - -.w50 { - width: 50%; -} - -.w60 { - width: 60%; -} - -.w66 { - width: 66.6666%; -} - -.w70 { - width: 70%; -} - -.w75 { - width: 75%; -} - -.w80 { - width: 80%; +.w95 { + width: 95%; } .w90 { width: 90%; } -.w100 { - width: 100%; +.w85 { + width: 85%; } -.w50p { - width: 50px; +.w80 { + width: 80%; } -.w100p { - width: 100px; +.w75 { + width: 75%; } -.w150p { - width: 150px; +.w70 { + width: 70%; } -.w200p { - width: 200px; +.w65 { + width: 65%; +} + +.w60 { + width: 60%; +} + +.w55 { + width: 55%; +} + +.w50 { + width: 50%; +} + +.w45 { + width: 45%; +} + +.w40 { + width: 40%; +} + +.w35 { + width: 35%; +} + +.w30 { + width: 30%; +} + +.w25 { + width: 25%; +} + +.w20 { + width: 20%; +} + +.w15 { + width: 15%; +} + +.w10 { + width: 10%; +} + +.w5 { + width: 5%; +} + +.w66 { + width: calc(100% / 3 * 2); +} + +.w33 { + width: calc(100% / 3); +} + +.wauto { + width: auto; +} + +.w960p { + width: 960px; +} + +.mw960p { + max-width: 960px; +} + +.w1140p { + width: 1140px; +} + +.mw1140p { + max-width: 1140px; +} + +.w1000p { + width: 1000px; +} + +.w950p { + width: 950px; +} + +.w900p { + width: 900px; +} + +.w850p { + width: 850px; +} + +.w800p { + width: 800px; +} + +.w750p { + width: 750px; +} + +.w700p { + width: 700px; +} + +.w650p { + width: 650px; +} + +.w600p { + width: 600px; +} + +.w550p { + width: 550px; +} + +.w500p { + width: 500px; +} + +.w450p { + width: 450px; +} + +.w400p { + width: 400px; +} + +.w350p { + width: 350px; } .w300p { width: 300px; } -@media (min-width: 401px) { - .w400p { - width: 400px; - } - .w500p { - width: 500px; - } - .w600p { - width: 600px; - } +.w250p { + width: 250px; } -@media (min-width: 701px) { - .w700p { - width: 700px; - } - .w800p { - width: 800px; - } +.w200p { + width: 200px; } -@media (min-width: 961px) { - .w960p { - width: 960px; - } - .mw960p { - max-width: 960px; - } - .w1140p { - width: 1140px; - } - .mw1140p { - max-width: 1140px; - } +.w150p { + width: 150px; } -.wauto { - width: auto; +.w100p { + width: 100px; +} + +.w50p { + width: 50px; } /* Spacing Helpers */ @@ -1834,7 +1604,11 @@ ul.is-unstyled, ul.unstyled { margin-right: 0 !important; border: 0; } - .flex-container { + .flex-container, .flex-container--row, + .flex-row, .flex-container--column, + .flex-column, .flex-container--row-reverse, + .flex-row-reverse, .flex-container--column-reverse, + .flex-column-reverse { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; @@ -1892,400 +1666,202 @@ ul.is-unstyled, ul.unstyled { } } -/* ---------------------------------- */ -/* ==Grillade : Simple Grid System */ -/* ---------------------------------- */ -/* Doc : http://grillade.knacss.com */ -@media (min-width: 576px) { +/* --------------------------------------- */ +/* ==Grillade : ultra light Grid System */ +/* --------------------------------------- */ +@media (min-width: 480px) { [class*=" grid-"], [class^="grid-"] { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: wrap; - flex-wrap: wrap; + display: grid; + grid-auto-flow: dense; } - [class*=" grid-"] > *, - [class^="grid-"] > * { - box-sizing: border-box; - min-width: 0; - min-height: 0; + [class*=" grid-"].has-gutter, + [class^="grid-"].has-gutter { + grid-gap: 1rem; + } + [class*=" grid-"].has-gutter-l, + [class^="grid-"].has-gutter-l { + grid-gap: 2rem; + } + [class*=" grid-"].has-gutter-xl, + [class^="grid-"].has-gutter-xl { + grid-gap: 4rem; } } -@media (min-width: 576px) { - .grid, - .grid--reverse { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - .grid > *, - .grid--reverse > * { - -webkit-box-flex: 1; - -ms-flex: 1 1 0%; - flex: 1 1 0%; - box-sizing: border-box; - min-width: 0; - min-height: 0; - } - .grid.has-gutter > * + *, - .grid--reverse.has-gutter > * + * { - margin-left: calc(1rem - 0.01px); - } - .grid.has-gutter-l > * + *, - .grid--reverse.has-gutter-l > * + * { - margin-left: calc(2rem - 0.01px); - } - .grid.has-gutter-xl > * + *, - .grid--reverse.has-gutter-xl > * + * { - margin-left: calc(4rem - 0.01px); - } +[class*="grid-1"] { + grid-template-columns: repeat(1, 1fr); } -@media (min-width: 576px) { - [class*="grid-2"] > * { - width: calc(100% / 2 - 0.01px); - } - [class*="grid-2"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-2"].has-gutter > * { - width: calc(100% / 2 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-2"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-2"].has-gutter-l > * { - width: calc(100% / 2 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-2"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-2"].has-gutter-xl > * { - width: calc(100% / 2 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-3"] > * { - width: calc(100% / 3 - 0.01px); - } - [class*="grid-3"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-3"].has-gutter > * { - width: calc(100% / 3 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-3"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-3"].has-gutter-l > * { - width: calc(100% / 3 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-3"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-3"].has-gutter-xl > * { - width: calc(100% / 3 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-4"] > * { - width: calc(100% / 4 - 0.01px); - } - [class*="grid-4"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-4"].has-gutter > * { - width: calc(100% / 4 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-4"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-4"].has-gutter-l > * { - width: calc(100% / 4 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-4"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-4"].has-gutter-xl > * { - width: calc(100% / 4 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-5"] > * { - width: calc(100% / 5 - 0.01px); - } - [class*="grid-5"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-5"].has-gutter > * { - width: calc(100% / 5 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-5"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-5"].has-gutter-l > * { - width: calc(100% / 5 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-5"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-5"].has-gutter-xl > * { - width: calc(100% / 5 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-6"] > * { - width: calc(100% / 6 - 0.01px); - } - [class*="grid-6"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-6"].has-gutter > * { - width: calc(100% / 6 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-6"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-6"].has-gutter-l > * { - width: calc(100% / 6 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-6"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-6"].has-gutter-xl > * { - width: calc(100% / 6 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-7"] > * { - width: calc(100% / 7 - 0.01px); - } - [class*="grid-7"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-7"].has-gutter > * { - width: calc(100% / 7 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-7"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-7"].has-gutter-l > * { - width: calc(100% / 7 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-7"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-7"].has-gutter-xl > * { - width: calc(100% / 7 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-8"] > * { - width: calc(100% / 8 - 0.01px); - } - [class*="grid-8"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-8"].has-gutter > * { - width: calc(100% / 8 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-8"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-8"].has-gutter-l > * { - width: calc(100% / 8 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-8"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-8"].has-gutter-xl > * { - width: calc(100% / 8 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-9"] > * { - width: calc(100% / 9 - 0.01px); - } - [class*="grid-9"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-9"].has-gutter > * { - width: calc(100% / 9 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-9"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-9"].has-gutter-l > * { - width: calc(100% / 9 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-9"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-9"].has-gutter-xl > * { - width: calc(100% / 9 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-10"] > * { - width: calc(100% / 10 - 0.01px); - } - [class*="grid-10"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-10"].has-gutter > * { - width: calc(100% / 10 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-10"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-10"].has-gutter-l > * { - width: calc(100% / 10 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-10"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-10"].has-gutter-xl > * { - width: calc(100% / 10 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-11"] > * { - width: calc(100% / 11 - 0.01px); - } - [class*="grid-11"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-11"].has-gutter > * { - width: calc(100% / 11 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-11"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-11"].has-gutter-l > * { - width: calc(100% / 11 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-11"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-11"].has-gutter-xl > * { - width: calc(100% / 11 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } - [class*="grid-12"] > * { - width: calc(100% / 12 - 0.01px); - } - [class*="grid-12"].has-gutter { - margin-right: -0.5rem; - margin-left: -0.5rem; - } - [class*="grid-12"].has-gutter > * { - width: calc(100% / 12 - 1rem - 0.01px); - margin-right: 0.5rem; - margin-left: 0.5rem; - } - [class*="grid-12"].has-gutter-l { - margin-right: -1rem; - margin-left: -1rem; - } - [class*="grid-12"].has-gutter-l > * { - width: calc(100% / 12 - 2rem - 0.01px); - margin-right: 1rem; - margin-left: 1rem; - } - [class*="grid-12"].has-gutter-xl { - margin-right: -2rem; - margin-left: -2rem; - } - [class*="grid-12"].has-gutter-xl > * { - width: calc(100% / 12 - 4rem - 0.01px); - margin-right: 2rem; - margin-left: 2rem; - } +[class*="grid-2"] { + grid-template-columns: repeat(2, 1fr); } -.push { - margin-left: auto !important; +[class*="grid-3"] { + grid-template-columns: repeat(3, 1fr); } -.pull { - margin-right: auto !important; +[class*="grid-4"] { + grid-template-columns: repeat(4, 1fr); +} + +[class*="grid-5"] { + grid-template-columns: repeat(5, 1fr); +} + +[class*="grid-6"] { + grid-template-columns: repeat(6, 1fr); +} + +[class*="grid-7"] { + grid-template-columns: repeat(7, 1fr); +} + +[class*="grid-8"] { + grid-template-columns: repeat(8, 1fr); +} + +[class*="grid-9"] { + grid-template-columns: repeat(9, 1fr); +} + +[class*="grid-10"] { + grid-template-columns: repeat(10, 1fr); +} + +[class*="grid-11"] { + grid-template-columns: repeat(11, 1fr); +} + +[class*="grid-12"] { + grid-template-columns: repeat(12, 1fr); +} + +[class*="col-1"] { + grid-column: auto/span 1; +} + +[class*="row-1"] { + grid-row: auto/span 1; +} + +[class*="col-2"] { + grid-column: auto/span 2; +} + +[class*="row-2"] { + grid-row: auto/span 2; +} + +[class*="col-3"] { + grid-column: auto/span 3; +} + +[class*="row-3"] { + grid-row: auto/span 3; +} + +[class*="col-4"] { + grid-column: auto/span 4; +} + +[class*="row-4"] { + grid-row: auto/span 4; +} + +[class*="col-5"] { + grid-column: auto/span 5; +} + +[class*="row-5"] { + grid-row: auto/span 5; +} + +[class*="col-6"] { + grid-column: auto/span 6; +} + +[class*="row-6"] { + grid-row: auto/span 6; +} + +[class*="col-7"] { + grid-column: auto/span 7; +} + +[class*="row-7"] { + grid-row: auto/span 7; +} + +[class*="col-8"] { + grid-column: auto/span 8; +} + +[class*="row-8"] { + grid-row: auto/span 8; +} + +[class*="col-9"] { + grid-column: auto/span 9; +} + +[class*="row-9"] { + grid-row: auto/span 9; +} + +[class*="col-10"] { + grid-column: auto/span 10; +} + +[class*="row-10"] { + grid-row: auto/span 10; +} + +[class*="col-11"] { + grid-column: auto/span 11; +} + +[class*="row-11"] { + grid-row: auto/span 11; +} + +[class*="col-12"] { + grid-column: auto/span 12; +} + +[class*="row-12"] { + grid-row: auto/span 12; +} + +/* intermediate breakpoints */ +@media (min-width: 480px) and (max-width: 767px) { + [class*="grid-"][class*="-small-1"] { + grid-template-columns: repeat(1, 1fr); + } + [class*="col-"][class*="-small-1"] { + grid-column: auto/span 1; + } + [class*="grid-"][class*="-small-2"] { + grid-template-columns: repeat(2, 1fr); + } + [class*="col-"][class*="-small-2"] { + grid-column: auto/span 2; + } + [class*="grid-"][class*="-small-3"] { + grid-template-columns: repeat(3, 1fr); + } + [class*="col-"][class*="-small-3"] { + grid-column: auto/span 3; + } + [class*="grid-"][class*="-small-4"] { + grid-template-columns: repeat(4, 1fr); + } + [class*="col-"][class*="-small-4"] { + grid-column: auto/span 4; + } + [class*="-small-all"] { + grid-column: 1 / -1; + } } .item-first { @@ -2300,204 +1876,983 @@ ul.is-unstyled, ul.unstyled { order: 1; } -[class*="grid-"][class*="--reverse"] { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; +.grid-offset { + visibility: hidden; +} + +.col-all { + grid-column: 1 / -1; +} + +.row-all { + grid-row: 1 / -1; +} + +/* ----------------------------- */ +/* ==Media object */ +/* ----------------------------- */ +/* recommanded HTML :
*/ +/* see http://codepen.io/raphaelgoetter/pen/KMWWwj */ +@media (min-width: 480px) { + .media { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + } + .media-content { + -webkit-box-flex: 1; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + } + .media-figure--center { + -ms-flex-item-align: center; + align-self: center; + } + .media--reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } +} + +/* ----------------------------- */ +/* ==Autogrid object */ +/* ----------------------------- */ +/* recommanded HTML :
... some elements ...
*/ +/* see https://codepen.io/raphaelgoetter/pen/zzwxEE */ +@media (min-width: 480px) { + .autogrid, + .grid { + display: grid; + grid-auto-flow: column; + grid-auto-column: 1fr; + } + .autogrid.has-gutter, + .grid.has-gutter { + grid-column-gap: 1rem; + } + .autogrid.has-gutter-l, + .grid.has-gutter-l { + grid-column-gap: 2rem; + } + .autogrid.has-gutter-xl, + .grid.has-gutter-xl { + grid-column-gap: 4rem; + } +} + +/* ----------------------------- */ +/* ==skip links */ +/* ----------------------------- */ +/* see https://www.alsacreations.com/article/lire/572-Les-liens-d-evitement.html */ +/* styling skip links */ +.skip-links { + position: absolute; +} + +.skip-links a { + position: absolute; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + padding: 0.5em; + background: black; + color: white; + text-decoration: none; +} + +.skip-links a:focus { + position: static; + overflow: visible; + clip: auto; +} + +/* ----------------------------- */ +/* ==Tables */ +/* ----------------------------- */ +table, +.table { + width: 100%; + max-width: 100%; + table-layout: fixed; + border-collapse: collapse; + vertical-align: top; + margin-bottom: 2rem; +} + +.table { + display: table; + border: 1px solid #acb3c2; + background: transparent; +} + +.table--zebra tbody tr:nth-child(odd) { + background: #e7e9ed; +} + +.table caption { + caption-side: bottom; + padding: 1rem; + color: #333; + font-style: italic; + text-align: right; +} + +.table td, +.table th { + padding: 0.3rem 0.6rem; + min-width: 2rem; + vertical-align: top; + border: 1px #acb3c2 dotted; + text-align: left; + cursor: default; +} + +.table thead { + color: #212529; + background: transparent; +} + +.table--auto { + table-layout: auto; +} + +/* ----------------------------- */ +/* ==Forms */ +/* ----------------------------- */ +/* thanks to HTML5boilerplate and https://shoelace.style/ */ +/* forms items */ +form, +fieldset { + border: none; +} + +fieldset { + padding: 2rem; +} + +fieldset legend { + padding: 0 0.5rem; + border: 0; + white-space: normal; +} + +label { + display: inline-block; + cursor: pointer; +} + +[type="color"], +[type="date"], +[type="datetime-local"], +[type="email"], +[type="month"], +[type="number"], +[type="password"], +[type="search"], +[type="submit"], +[type="tel"], +[type="text"], +[type="time"], +[type="url"], +[type="week"], +select, +textarea { + white-space: nowrap; + font-family: inherit; + font-size: inherit; + border: 0; + -webkit-box-shadow: 0 0 0 1px #333 inset; + box-shadow: 0 0 0 1px #333 inset; + color: #212529; + vertical-align: middle; + padding: 0.5rem 1rem; + margin: 0; + -webkit-transition: 0.25s; + transition: 0.25s; + -webkit-transition-property: background-color, color, border, -webkit-box-shadow; + transition-property: background-color, color, border, -webkit-box-shadow; + transition-property: box-shadow, background-color, color, border; + transition-property: box-shadow, background-color, color, border, -webkit-box-shadow; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +[type="submit"] { + background-color: #333; + color: #fff; + cursor: pointer; +} + +input[readonly] { + background-color: #e7e9ed; +} + +select { + padding-right: 2rem; + border-radius: 0; + background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); + background-position: right .6rem center; + background-repeat: no-repeat; + background-size: 1.2rem; +} + +/* hiding IE11 arrow */ +select::-ms-expand { + display: none; +} + +textarea { + min-height: 5em; + vertical-align: top; + resize: vertical; + white-space: normal; +} + +/* 'x' appears on right of search input when text is entered. This removes it */ +[type="search"]::-webkit-search-decoration, [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-results-button, [type="search"]::-webkit-search-results-decoration { + display: none; +} + +::-webkit-input-placeholder { + color: #777; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #777; +} + +progress { + width: 100%; + vertical-align: middle; +} + +/* ----------------------------- */ +/* ==Buttons */ +/* ----------------------------- */ +/* preferably use +// see doc : https://knacss.com/styleguide.html#buttons +.nav-button { + padding: 0; + background-color: transparent; + outline: 0; + border: 0; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + + & > * { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: stretch; + height: $burger-size; + width: $burger-size; + padding: $burger-padding; + background-color: $burger-background; + background-image: linear-gradient($burger-color, $burger-color); + background-position: center; + background-repeat: no-repeat; + background-origin: content-box; + background-size: 100% $burger-weight; + transition: .25s; + transition-property: transform, background; + will-change: transform, background; + + &::before, + &::after { + content: ""; + height: $burger-weight; + background: $burger-color; + transition: .25s; + transition-property: transform, top; + will-change: transform, top; + } + } + + &:hover { + & > * { + background-color: $burger-hover-background; + } + } + + &:focus { + outline: 0; + } + + &.is-active { + + & > * { + background-image: none; + justify-content: center; + + &::before { + transform: translateY(50%) rotate3d(0,0,1,45deg); + } + &::after { + transform: translateY(-50%) rotate3d(0,0,1,-45deg); + } + } + } +} diff --git a/sass/components/_checkbox.scss b/sass/components/_checkbox.scss new file mode 100644 index 0000000..03a4cae --- /dev/null +++ b/sass/components/_checkbox.scss @@ -0,0 +1,97 @@ +/* ----------------------------- */ +/* ==Checkbox, radio, switch */ +/* ----------------------------- */ +/* use .checkbox class on input type=checkbox */ +/* recommanded HTML : */ +/* use .radio class on input type=radio */ +/* recommanded HTML : */ +/* use .switch class on input type=checkbox */ +// + +// common styles +.checkbox { + border-radius: $checkbox-border-radius; +} + +.switch { + border-radius: $switch-border-radius; +} + +.radio { + border-radius: 50%; +} + +.switch, +.checkbox, +.radio { + appearance: none; + vertical-align: text-bottom; + outline: 0; + cursor: pointer; + box-shadow: inset 0 0 0 1px $checkbox-color; + background: #fff; + + ~ label { + cursor: pointer; + } + + &::-ms-check { + display: none; // unstyle IE checkboxes + } +} + +// switch styling +.switch { + width: $switch-size *2; + height: $switch-size; + line-height: $switch-size; + font-size: 60%; + box-shadow: inset -#{$switch-size} 0 0 $switch-color, inset 0 0 0 1px $switch-color; + transition: box-shadow .15s; + &::before, &::after { + font-weight: bold; + color: #fff; + } + &::before { + content: "✕"; + float: right; + margin-right: $switch-size /3; + } + &:checked { + box-shadow: inset #{$switch-size} 0 0 $color-success, inset 0 0 0 1px $color-success; + &::before { + content: "✓"; + float: left; + margin-left: $switch-size /3; + } + } +} + + +// checkbox styling +.checkbox { + width: $checkbox-size; + height: $checkbox-size; + transition: background-color .15s; + &:checked { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); + background-size: 60% 60%; + background-position: center; + background-repeat: no-repeat; + background-color: $checkbox-color; + } +} + +// radio styling +.radio { + width: $checkbox-size; + height: $checkbox-size; + transition: background-color .15s; + &:checked { + background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%2240%22%20height%3D%2240%22%0AviewBox%3D%220%200%2080%2080%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2224%22%20style%3D%22fill%3A%23ffffff%22/%3E%3C/svg%3E); + background-size: 80% 80%; + background-position: center; + background-repeat: no-repeat; + background-color: $checkbox-color; + } +} diff --git a/sass/components/_forms.scss b/sass/components/_forms.scss new file mode 100644 index 0000000..90721b5 --- /dev/null +++ b/sass/components/_forms.scss @@ -0,0 +1,110 @@ +/* ----------------------------- */ +/* ==Forms */ +/* ----------------------------- */ +/* thanks to HTML5boilerplate and https://shoelace.style/ */ + +/* forms items */ +form, +fieldset { + border: none; +} + +fieldset { + padding: $spacer-medium; + + & legend { + padding: 0 $spacer-tiny; + border: 0; + white-space: normal; + } +} + +label { + display: inline-block; + cursor: pointer; +} + +[type="color"], +[type="date"], +[type="datetime-local"], +[type="email"], +[type="month"], +[type="number"], +[type="password"], +[type="search"], +[type="submit"], +[type="tel"], +[type="text"], +[type="time"], +[type="url"], +[type="week"], +select, +textarea { + white-space: nowrap; + font-family: inherit; + font-size: inherit; + border: 0; + box-shadow: 0 0 0 1px $forms-color inset; + color: $color-base; + vertical-align: middle; + padding: $spacer-tiny $spacer-small; + margin: 0; + transition: 0.25s; + transition-property: box-shadow, background-color, color, border; + appearance: none; +} + +[type="submit"] { + background-color: $forms-color; + color: $white; + cursor: pointer; +} + +input[readonly] { + background-color: $color-muted; +} + +select { + padding-right: 2rem; + border-radius: $border-radius; + background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); + background-position: right .6rem center; + background-repeat: no-repeat; + background-size: 1.2rem; +} + +/* hiding IE11 arrow */ +select::-ms-expand { + display: none; +} + +textarea { + min-height: 5em; + vertical-align: top; + resize: vertical; + white-space: normal; +} + +/* 'x' appears on right of search input when text is entered. This removes it */ +[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:-moz-placeholder, +textarea:-moz-placeholder { + color: #777; +} + +progress { + width: 100%; + vertical-align: middle; +} diff --git a/sass/components/_media.scss b/sass/components/_media.scss new file mode 100644 index 0000000..30cbee7 --- /dev/null +++ b/sass/components/_media.scss @@ -0,0 +1,25 @@ +/* ----------------------------- */ +/* ==Media object */ +/* ----------------------------- */ +/* recommanded HTML :
*/ +/* see http://codepen.io/raphaelgoetter/pen/KMWWwj */ + +@media (min-width: $tiny) { + .media { + display: flex; + align-items: flex-start; + + &-content { + flex: 1 1 0%; + } + + // vertical align image + &-figure--center { + align-self: center; + } + // reverse variant + &--reverse { + flex-direction: row-reverse; + } + } +} diff --git a/sass/components/_skip-links.scss b/sass/components/_skip-links.scss new file mode 100644 index 0000000..e700ef7 --- /dev/null +++ b/sass/components/_skip-links.scss @@ -0,0 +1,25 @@ +/* ----------------------------- */ +/* ==skip links */ +/* ----------------------------- */ +/* see https://www.alsacreations.com/article/lire/572-Les-liens-d-evitement.html */ + +/* styling skip links */ +.skip-links { + position: absolute; + + & a { + position: absolute; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + padding: 0.5em; + background: black; + color: white; + text-decoration: none; + + &:focus { + position: static; + overflow: visible; + clip: auto; + } + } +} diff --git a/sass/components/_tables.scss b/sass/components/_tables.scss new file mode 100644 index 0000000..62f174f --- /dev/null +++ b/sass/components/_tables.scss @@ -0,0 +1,51 @@ +/* ----------------------------- */ +/* ==Tables */ +/* ----------------------------- */ + +table, +.table { + width: 100%; + max-width: 100%; + table-layout: fixed; + border-collapse: collapse; + vertical-align: top; + margin-bottom: $spacer-medium; +} + +.table { + display: table; + border: 1px solid $table-border; + background: $table-background; + + &--zebra { + & tbody tr:nth-child(odd) { + background: $gray-200; + } + } + + & caption { + caption-side: bottom; + padding: $spacer-small; + color: $table-caption-color; + font-style: italic; + text-align: right; + } + + & td, + & th { + padding: 0.3rem 0.6rem; + min-width: $spacer-medium; + vertical-align: top; + border: 1px $table-border dotted; + text-align: left; + cursor: default; + } + & thead { + color: $table-head-color; + background: $table-head-background; + } +} + +.table--auto { + table-layout: auto; +} diff --git a/sass/components/_tabs.scss b/sass/components/_tabs.scss new file mode 100644 index 0000000..cd7a1a0 --- /dev/null +++ b/sass/components/_tabs.scss @@ -0,0 +1,53 @@ +/* ----------------------------- */ +/* ==Tabs */ +/* ----------------------------- */ +/* see example on https://knacss.com/styleguide.html#tabs */ +/* NOTE : tabs need JavaScript to be activated */ + + +.tabs-menu { + border-bottom: 2px solid $tabs-border; + + &-link { + display: block; + margin-bottom: -2px; + padding: $spacer-tiny $spacer-medium-plus; + border-bottom: 4px solid transparent; + color: $tabs-color; + background: $tabs-background; + text-decoration: none; + border-radius: $tabs-border-radius $tabs-border-radius 0 0; + transition: .25s; + transition-property: color, border, background-color; + + &.is-active { + border-bottom-color: $tabs-active-border; + color: $tabs-active-color; + background: $tabs-active-background; + outline: 0; + } + + &:focus { + border-bottom-color: $tabs-active-border; + color: $tabs-active-color; + outline: 0; + } + + @media (min-width: $small) { + display: inline-block; + } + } +} + +.tabs-content-item { + padding-top: $spacer-small; + + &[aria-hidden="true"] { + visibility: hidden; + @extend .visually-hidden; + } + + &[aria-hidden="false"] { + visibility: visible; + } +} diff --git a/sass/components/_tags.scss b/sass/components/_tags.scss new file mode 100644 index 0000000..18c5574 --- /dev/null +++ b/sass/components/_tags.scss @@ -0,0 +1,50 @@ +/* ----------------------------- */ +/* ==Tags */ +/* ----------------------------- */ +/* use .tag-- classes for variants */ + +.tag { + display: inline-block; + padding: 3px $spacer-tiny; + vertical-align: baseline; + white-space: nowrap; + color: $color-base; + border-radius: $border-radius; + background-color: $color-muted; + line-height: 1; +} + +.tag { + @each $name, $background-color, $color, $border in $variants-list { + &--#{$name} { + @extend .tag; + background-color: $background-color; + color: $color; + box-shadow: $border; + } + } +} + +// tag state variants +.tag { + &--small { + font-size: $font-size-base - 0.4rem; + } + + &--big { + font-size: $font-size-base + 0.4rem; + } + + &--block { + width: 100% !important; + display: block; + } + &.disabled, + &--disabled { + opacity: 0.5; + cursor: not-allowed; + } + &:empty { + display: none; + } +} diff --git a/sass/grids/_grillade.scss b/sass/grids/_grillade.scss deleted file mode 100644 index eca22fe..0000000 --- a/sass/grids/_grillade.scss +++ /dev/null @@ -1,132 +0,0 @@ -/* ---------------------------------- */ -/* ==Grillade : Simple Grid System */ -/* ---------------------------------- */ -/* Doc : http://grillade.knacss.com */ -// gutter values for grid layouts. Unit can be: %, px, em, rem -$grid-gutters: ( '': 1rem, '-l': 2rem, '-xl': 4rem ); -// IEfixing, see -// https://github.com/alsacreations/KNACSS/issues/133; -$iefix: 0.01px; -@media (min-width: $small) { - [class*=" grid-"], - [class^="grid-"] { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - & > * { - box-sizing: border-box; - min-width: 0; - min-height: 0; - } - } -} -// Multi-line grid constructor -// example : .grid-perso { @include grid(12, 3rem); } -@mixin grid($grid-number: 1, $own-gutter: 0) { - & > * { - width: calc(100% / #{$grid-number} - #{$iefix}); - } - @each $affix, $size in $grid-gutters { - &.has-gutter#{$affix} { - margin-right: -$size / 2; - margin-left: -$size / 2; - - & > * { - width: calc(100% / #{$grid-number} - #{$size} - #{$iefix}); - margin-right: $size / 2; - margin-left: $size / 2; - } - } - } - @if ($own-gutter != 0) { - margin-right: -$own-gutter / 2; - margin-left: -$own-gutter / 2; - - & > * { - width: calc(100% / #{$grid-number} - #{$own-gutter} - #{$iefix}); - margin-right: $own-gutter / 2; - margin-left: $own-gutter / 2; - } - } -} -// Mono-line grid constructor (.grid) -@media (min-width: $small) { - .grid, - .grid--reverse { - display: flex; - - & > * { - flex: 1 1 0%; - box-sizing: border-box; - min-width: 0; - min-height: 0; - } - @each $affix, $size in $grid-gutters { - &.has-gutter#{$affix} > * + * { - margin-left: calc(#{$size} - #{$iefix}); - } - } - } -} -// Constructing grids : will be compiled in CSS -@media (min-width: $small) { - @for $i from 2 through 12 { - [class*="grid-#{$i}"] { - @include grid(#{$i}, 0); - } - } -} - -// Grid offsets -.push { - margin-left: auto !important; -} - -.pull { - margin-right: auto !important; -} - -// Grid order -.item-first { - order: -1; -} - -.item-last { - order: 1; -} - -[class*="grid-"][class*="--reverse"] { - flex-direction: row-reverse; -} -// sizing individual children -@media (min-width: $small) { - @each $flow, $divider in ("full" "1"), ("one-half" "2"), ("one-third" "3"), ("one-quarter" "4"), ("one-fifth" "5"), ("one-sixth" "6"), ("two-thirds" "3 * 2"), ("three-quarters" "4 * 3"), ("five-sixths" "6 * 5") { - .#{$flow} { - flex: 0 0 auto; - width: calc(100% / #{$divider} - #{$iefix}); - } - @each $affix, $size in $grid-gutters { - .has-gutter#{$affix} > .#{$flow} { - width: calc(100% / #{$divider} - #{$size} - #{$iefix}); - } - } - } -} -/* Responsive Small Breakpoint */ -// -small-X suffix means "X columns on small-medium screen" -// example : .grid-4-small-2 will be 1 column (tiny and down) then 2 columns (until medium) then 4 columns -@media (min-width: $small) and (max-width: ($medium - 1)) { - @for $i from 1 through 4 { - [class*="-small-#{$i}"] { - & > * { - width: calc(100% / #{$i} - #{$iefix}); - } - @each $affix, $size in $grid-gutters { - &.has-gutter#{$affix} > * { - width: calc(100% / #{$i} - #{$size} - #{$iefix}); - } - } - } - } -} diff --git a/sass/knacss.scss b/sass/knacss.scss index cf59e8d..874ce73 100644 --- a/sass/knacss.scss +++ b/sass/knacss.scss @@ -1,5 +1,5 @@ /*! -* www.KNACSS.com v6.1.2 (21 juin 2017) @author: Alsacreations, Raphael Goetter +* www.KNACSS.com v7.0.0 (??? 2017) @author: Alsacreations, Raphael Goetter * Licence WTFPL http://www.wtfpl.net/ */ @@ -7,60 +7,62 @@ /* ==Table Of Content */ /* ----------------------------- */ -/* 1- Normalize (basic reset) */ -/* 2- Base (basic styles) */ -/* 3- Print (print quick reset) */ -/* 4- Stylings (minor stylings) */ -/* 5- Misc (skip links, hyphens) */ -/* 6- Tables (data tables consistency) */ -/* 7- Forms (forms consistency) */ -/* 8- Media object */ -/* 9- Autogrid object */ -/* 10- Global Layout (alignment, modules, positionning) */ -/* 11- Helpers (width and spacers helpers) */ -/* (12- WordPress reset (disabled by default)) */ -/* 13- Responsive (Responsive Web Design helpers) */ -/* 14- Grid Layout (grillade) */ +/* +1- Reboot (basic reset) +2- Libraries : + - Base + - Print + - Misc (hyphens) + - Layout (alignment, modules, positionning) + - Utilities (width and spacers helpers) + - Responsive helpers + - WordPress reset (disabled by default) + - Grillade (Grid System) +3- Components : + - Media object + - Autogrid object + - Skip Links for accessibility + - Tables + - Forms + - Buttons + - Checkbox + - Tabs + - Tags + - Badges + - Alerts +*/ -/* ---------------------------------- */ -/* ==Normalize (basic reset) */ -/* ---------------------------------- */ - -@import "_vendor/_normalize.scss"; // normalize (basic reset) +@import "_vendor/_reboot"; // Bootstrap reboot (basic reset) // WARNING : you should comment the following @import (variables) // and move variables file from knacss folder to your own project folder! @import "_config/_variables.scss"; -@import "_config/_breakpoints.scss"; @import "_config/_mixins.scss"; -// Libraries -@import "library/_base.scss"; // basic styles -@import "library/_print.scss"; // print quick reset -@import "library/_styling.scss"; // minor stylings -@import "library/_misc.scss"; // skip links, hyphens -@import "library/_tables.scss"; // data tables consistency -@import "library/_forms.scss"; // forms consistency +// Core Libraries +@import "_library/_base.scss"; // basic styles +@import "_library/_print.scss"; // print quick reset +@import "_library/_misc.scss"; // skip links, hyphens +@import "_library/_layout.scss"; // alignment, modules, positionning +@import "_library/_utilities.scss"; // width and spacers helpers +@import "_library/_responsive.scss"; // Responsive Web Design helpers +// @import "_library/_wordpress.scss"; // WordPress reset and basic styles -// Objects -@import "objects/_media.scss"; // media object -@import "objects/_autogrid.scss"; // media autogrid +// New Grid System by default (Grid Layout). If you prefer old "Flexbox" Grid System, replace file with "_library/grillade-flex.scss" +// Note that none of these file is prefixed by an underscore, in order to compile them. +@import "_library/grillade-grid.scss"; // grid system with Grid Layout -// Utilities -@import "utilities/_layout.scss"; // alignment, modules, positionning -@import "utilities/_helpers.scss"; // width and spacers helpers -// @import "utilities/_wordpress.scss"; // WordPress reset and basic styles -@import "utilities/_responsive.scss"; // Responsive Web Design helpers - -// Grids -@import "grids/_grillade.scss"; // grids - - -/* ----------------------------- */ -/* ==Own stylesheet */ -/* ----------------------------- */ - -/* Here should go your own CSS styles */ -// You can also link them with a Sass @import -// @import "my-styles"; +// Components +@import "components/_media.scss"; // media object +@import "components/_autogrid.scss"; // media autogrid +@import "components/_skip-links.scss"; // skip links +@import "components/_tables.scss"; // data tables consistency +@import "components/_forms.scss"; // forms consistency and styles +@import "components/_buttons.scss"; // buttons styles +@import "components/_checkbox.scss"; // checkbox, radio, switch styles +@import "components/_tabs.scss"; // tabs styles +@import "components/_arrows.scss"; // arrows styles +@import "components/tags.scss"; // tags styles +@import "components/_badges.scss"; // badges styles +@import "components/_alerts.scss"; // alerts styles diff --git a/sass/library/_base.scss b/sass/library/_base.scss deleted file mode 100644 index 5c2c09c..0000000 --- a/sass/library/_base.scss +++ /dev/null @@ -1,241 +0,0 @@ -/* ----------------------------- */ -/* ==Base (basic styles) */ -/* ----------------------------- */ - -/* switching to border-box model for all elements */ -html { - box-sizing: border-box; -} - -* { - box-sizing: inherit; -} - -html { - /* set base font-size to equiv "10px", which is adapted to rem unit */ - font-size: 62.5%; - /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */ - /* thanks to @guardian, @victorbritopro and @eQRoeil */ - font-size: calc(1em * 0.625); -} - -body { - font-size: $base-font-size; - @if variable_exists(base-font-size-l) and $base-font-size-l != $base-font-size { - @include respond-to("tiny-up") { - font-size: $base-font-size-l; - } - } - background-color: $background-base; - color: $color-base; - font-family: $font-stack-common; - line-height: $line-height; - @if variable_exists(line-height-l) and $line-height-l != $line-height { - @include respond-to("tiny-up") { - line-height: $line-height-l; - } - } -} - -a { - color: $color-link; - - // No styling on focus/hover if there's no effect. Avoids to then have to - // override it countless times. See Issue #232 - @if variable_exists(color-link-hover) and - ( null == index( ($color-link, null, false), $color-link-hover) ) { - &:focus, - &:hover, - &:active { - color: $color-link-hover; - } - } -} - -ul, -ol { - padding-left: 2em; -} - -img { - vertical-align: middle; -} - -blockquote, -figure { - margin-left: 0; - margin-right: 0; -} - -/* font-sizing for content */ -p, -.#{$kna-namespace}p-like, -ul, -ol, -dl, -blockquote, -pre, -td, -th, -label, -textarea, -caption, -details, -figure { - margin-top: 0.75em; - margin-bottom: 0; - line-height: $line-height; -} - -h1, .#{$kna-namespace}h1-like { - font-size: $h1-size; - @if variable_exists(h1-size-l) and $h1-size-l != $h1-size { - @include respond-to("tiny-up") { - font-size: $h1-size-l; - } - } - @if variable_exists(font-stack-headings) and $font-stack-headings != $font-stack-common { - font-family: $font-stack-headings; - } -} - -h2, .#{$kna-namespace}h2-like { - font-size: $h2-size; - @if variable_exists(h2-size-l) and $h2-size-l != $h2-size { - @include respond-to("tiny-up") { - font-size: $h2-size-l; - } - } - @if variable_exists(font-stack-headings) and $font-stack-headings != $font-stack-common { - font-family: $font-stack-headings; - } -} - -h3, .#{$kna-namespace}h3-like { - font-size: $h3-size; - @if variable_exists(h3-size-l) and $h3-size-l != $h3-size { - @include respond-to("tiny-up") { - font-size: $h3-size-l; - } - } -} - -h4, .#{$kna-namespace}h4-like { - font-size: $h4-size; - @if variable_exists(h4-size-l) and $h4-size-l != $h4-size { - @include respond-to("tiny-up") { - font-size: $h4-size-l; - } - } -} - -h5, .#{$kna-namespace}h5-like { - font-size: $h5-size; - @if variable_exists(h5-size-l) and $h5-size-l != $h5-size { - @include respond-to("tiny-up") { - font-size: $h5-size-l; - } - } -} - -h6, .#{$kna-namespace}h6-like { - font-size: $h6-size; - @if variable_exists(h6-size-l) and $h6-size-l != $h6-size { - @include respond-to("tiny-up") { - font-size: $h6-size-l; - } - } -} - -/* alternate font-sizing */ -.#{$kna-namespace}smaller { - font-size: 0.6em; -} - -.#{$kna-namespace}small { - font-size: 0.8em; -} - -.#{$kna-namespace}big { - font-size: 1.2em; -} - -.#{$kna-namespace}bigger { - font-size: 1.5em; -} - -.#{$kna-namespace}biggest { - font-size: 2em; -} - -code, -pre, -samp, -kbd { - /* IE fix */ - white-space: pre-line; - white-space: pre-wrap; - font-family: $font-stack-monospace; - line-height: normal; -} - -em, -.#{$kna-namespace}italic, -address, -cite, -i, -var { - font-style: italic; -} - -/* avoid top margins on first content element */ -p, -.#{$kna-namespace}p-like, -ul, -ol, -dl, -blockquote, -pre, -h1, -.#{$kna-namespace}h1-like, -h2, -.#{$kna-namespace}h2-like, -h3, -.#{$kna-namespace}h3-like, -h4, -.#{$kna-namespace}h4-like, -h5, -.#{$kna-namespace}h5-like, -h6, -.#{$kna-namespace}h6-like { - &:first-child { - margin-top: 0; - } -} - -/* avoid margins on nested elements */ -li p, -li .#{$kna-namespace}p-like, -li ul, -li ol { - margin-top: 0; - margin-bottom: 0; -} - -/* max values */ -img, -table, -td, -blockquote, -code, -pre, -textarea, -input, -video, -svg { - max-width: 100%; -} - -img { - height: auto; -} diff --git a/sass/library/_forms.scss b/sass/library/_forms.scss deleted file mode 100644 index 538a7e1..0000000 --- a/sass/library/_forms.scss +++ /dev/null @@ -1,116 +0,0 @@ -/* ----------------------------- */ -/* ==Forms */ -/* ----------------------------- */ - -/* thanks to HTML5boilerplate, -* github.com/nathansmith/formalize and www.sitepen.com -*/ - -/* buttons */ -.#{$kna-namespace}btn { - display: inline-block; -} - -/* forms items */ -form, -fieldset { - border: none; -} - -input, -button, -select, -label, -.#{$kna-namespace}btn { - font-family: inherit; - font-size: inherit; -} - -button, -input, -optgroup, -select, -textarea { - color: $color-base; -} - -label { - vertical-align: middle; - cursor: pointer; -} - -legend { - border: 0; - white-space: normal; -} - -textarea { - min-height: 5em; - vertical-align: top; - font-family: inherit; - font-size: inherit; - resize: vertical; -} - -select { - -webkit-appearance: menulist-button; -} - -/* if select styling bugs on WebKit */ -/* select { -webkit-appearance: none; } */ - -/* 'x' appears on right of search input when text is entered. This removes it */ -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:-moz-placeholder, -textarea:-moz-placeholder { - color: #777; -} - -.#{$kna-namespace}btn, -input[type="button"], -button { - &:focus { - -webkit-tap-highlight-color: transparent; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } -} - -/* unstyled forms */ - -button, -input[type="button"], -input[type="submit"], -input[type="reset"] { - &.#{$kna-namespace}unstyled { - padding: 0; - border: none; - line-height: 1; - text-align: left; - background: none; - border-radius: 0; - box-shadow: none; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - - &:focus { - box-shadow: none; - outline: none; - } - } -} diff --git a/sass/library/_styling.scss b/sass/library/_styling.scss deleted file mode 100644 index 8854af4..0000000 --- a/sass/library/_styling.scss +++ /dev/null @@ -1,120 +0,0 @@ -/* ----------------------------- */ -/* ==Stylings (minor stylings) */ -/* ----------------------------- */ - -/* styling elements */ -code, -kbd, -mark { - border-radius: 2px; -} - -kbd { - padding: 0 2px; - border: 1px solid #999; -} - -pre { - tab-size: 2; -} - -code { - padding: 2px 4px; - background: rgba(0, 0, 0, 0.04); - color: #b11; -} - -pre code { - padding: 0; - background: none; - color: inherit; - border-radius: 0; -} - -mark { - padding: 2px 4px; -} - -sup, -sub { - vertical-align: 0; -} - -sup { - bottom: 1ex; -} - -sub { - top: 0.5ex; -} - -blockquote { - position: relative; - padding-left: 3em; - min-height: 2em; -} - -blockquote::before { - content: "\201C"; - position: absolute; - left: 0; - top: 0; - font-family: georgia, serif; - font-size: 5em; - height: .4em; - line-height: .9; - color: rgba(0, 0, 0, .3); -} - -blockquote > footer { - margin-top: .75em; - font-size: 0.9em; - color: rgba(0, 0, 0, .7); - - &::before { - content: "\2014 \0020"; - } -} - -q { - font-style: normal; -} - -q, -.#{$kna-namespace}q { - quotes: "“\00a0" "\00a0”"; - - &:lang(fr) { - quotes: "«\00a0" "\00a0»"; - } -} - -hr { - display: block; - clear: both; - height: 1px; - margin: 1em 0 2em; - padding: 0; - border: 0; - color: #ccc; - background-color: #ccc; -} - -/* tables */ -table, -.#{$kna-namespace}table { - border: 1px solid #ccc; -} - -caption { - padding: $small-value; - color: #555; - font-style: italic; -} - -td, -th { - padding: 0.3em 0.8em; - border: 1px #aaa dotted; - text-align: left; -} diff --git a/sass/library/_tables.scss b/sass/library/_tables.scss deleted file mode 100644 index 4240600..0000000 --- a/sass/library/_tables.scss +++ /dev/null @@ -1,29 +0,0 @@ -/* ----------------------------- */ -/* ==Tables */ -/* ----------------------------- */ - -table, -.#{$kna-namespace}table { - width: 100%; - max-width: 100%; - table-layout: fixed; - border-collapse: collapse; - vertical-align: top; - margin-bottom: $medium-value; -} - -.#{$kna-namespace}table { - display: table; -} - -#recaptcha_table, -.#{$kna-namespace}table-auto { - table-layout: auto; -} - -td, -th { - vertical-align: top; - min-width: $medium-value; - cursor: default; -} diff --git a/sass/objects/_autogrid.scss b/sass/objects/_autogrid.scss deleted file mode 100644 index e0998fb..0000000 --- a/sass/objects/_autogrid.scss +++ /dev/null @@ -1,25 +0,0 @@ -/* Autogrid object */ -/* see http://codepen.io/raphaelgoetter/pen/KMgBJd */ -@media (min-width: $small) { - [class^="autogrid"], - [class*=" autogrid"] { - display: flex; - } - - [class^="autogrid"] > *, - [class*=" autogrid"] > * { - flex: 1; - min-width: 0; /* avoid min-width:auto */ - } -} - -/* Autogrid variants */ -@media (min-width: $small) { - .has-gutter > *:not(:first-child) { - margin-left: 1rem; - } - - [class*="--reverse"] { - flex-direction: row-reverse; - } -} diff --git a/sass/objects/_media.scss b/sass/objects/_media.scss deleted file mode 100644 index 72993a4..0000000 --- a/sass/objects/_media.scss +++ /dev/null @@ -1,24 +0,0 @@ -/* Media object */ -/* see http://codepen.io/raphaelgoetter/pen/KMWWwj */ -@media (min-width: $small) { - .o-media { - display: flex; - align-items: flex-start; - } - - .o-media-content { - flex: 1; - min-width: 0; /* avoid min-width:auto */ - } -} - -/* Media variants */ -@media (min-width: $small) { - .o-media--reverse { - flex-direction: row-reverse; - } - - .o-media-figure--center { - align-self: center; - } -} diff --git a/sass/utilities/_helpers.scss b/sass/utilities/_helpers.scss deleted file mode 100644 index a8c6cb5..0000000 --- a/sass/utilities/_helpers.scss +++ /dev/null @@ -1,359 +0,0 @@ -/* ---------------------------------- */ -/* ==Helpers */ -/* ---------------------------------- */ - -/* State Helpers */ -/* ------------- */ - -/* invisible for all */ -.is-hidden, -[hidden] { - display: none; -} - -/* hidden but not for an assistive technology like a screen reader, Yahoo! method */ -.visually-hidden { - position: absolute !important; - border: 0 !important; - height: 1px !important; - width: 1px !important; - padding: 0 !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; -} - -.is-disabled, -[disabled] { - opacity: 0.5; - pointer-events: none; - cursor: not-allowed; - filter: grayscale(1); -} - -ul { - &.is-unstyled, - &.unstyled { - list-style: none; - padding-left: 0; - } -} - -/* Width Helpers */ -/* ------------- */ - -/* blocks widths (percentage and pixels) */ -.#{$kna-namespace}w10 { - width: 10%; -} - -.#{$kna-namespace}w20 { - width: 20%; -} - -.#{$kna-namespace}w25 { - width: 25%; -} - -.#{$kna-namespace}w30 { - width: 30%; -} - -.#{$kna-namespace}w33 { - width: 33.3333%; -} - -.#{$kna-namespace}w40 { - width: 40%; -} - -.#{$kna-namespace}w50 { - width: 50%; -} - -.#{$kna-namespace}w60 { - width: 60%; -} - -.#{$kna-namespace}w66 { - width: 66.6666%; -} - -.#{$kna-namespace}w70 { - width: 70%; -} - -.#{$kna-namespace}w75 { - width: 75%; -} - -.#{$kna-namespace}w80 { - width: 80%; -} - -.#{$kna-namespace}w90 { - width: 90%; -} - -.#{$kna-namespace}w100 { - width: 100%; -} - -.#{$kna-namespace}w50p { - width: 50px; -} - -.#{$kna-namespace}w100p { - width: 100px; -} - -.#{$kna-namespace}w150p { - width: 150px; -} - -.#{$kna-namespace}w200p { - width: 200px; -} - -.#{$kna-namespace}w300p { - width: 300px; -} - -@media (min-width: 401px) { - .#{$kna-namespace}w400p { - width: 400px; - } - - .#{$kna-namespace}w500p { - width: 500px; - } - - .#{$kna-namespace}w600p { - width: 600px; - } -} - -@media (min-width: 701px) { - - .#{$kna-namespace}w700p { - width: 700px; - } - - .#{$kna-namespace}w800p { - width: 800px; - } -} - -@media (min-width: 961px) { - .#{$kna-namespace}w960p { - width: 960px; - } - - .#{$kna-namespace}mw960p { - max-width: 960px; - } - - .#{$kna-namespace}w1140p { - width: 1140px; - } - - .#{$kna-namespace}mw1140p { - max-width: 1140px; - } -} - -.#{$kna-namespace}wauto { - width: auto; -} - -/* Spacing Helpers */ -/* --------------- */ - -.#{$kna-namespace}man, -.#{$kna-namespace}ma0 { - margin: 0; -} - -.#{$kna-namespace}pan, -.#{$kna-namespace}pa0 { - padding: 0; -} - -.#{$kna-namespace}mas { - margin: $small-value; -} - -.#{$kna-namespace}mam { - margin: $medium-value; -} - -.#{$kna-namespace}mal { - margin: $large-value; -} - -.#{$kna-namespace}pas { - padding: $small-value; -} - -.#{$kna-namespace}pam { - padding: $medium-value; -} - -.#{$kna-namespace}pal { - padding: $large-value; -} - -.#{$kna-namespace}mtn, -.#{$kna-namespace}mt0 { - margin-top: 0; -} - -.#{$kna-namespace}mts { - margin-top: $small-value; -} - -.#{$kna-namespace}mtm { - margin-top: $medium-value; -} - -.#{$kna-namespace}mtl { - margin-top: $large-value; -} - -.#{$kna-namespace}mrn, -.#{$kna-namespace}mr0 { - margin-right: 0; -} - -.#{$kna-namespace}mrs { - margin-right: $small-value; -} - -.#{$kna-namespace}mrm { - margin-right: $medium-value; -} - -.#{$kna-namespace}mrl { - margin-right: $large-value; -} - -.#{$kna-namespace}mbn, -.#{$kna-namespace}mb0 { - margin-bottom: 0; -} - -.#{$kna-namespace}mbs { - margin-bottom: $small-value; -} - -.#{$kna-namespace}mbm { - margin-bottom: $medium-value; -} - -.#{$kna-namespace}mbl { - margin-bottom: $large-value; -} - -.#{$kna-namespace}mln, -.#{$kna-namespace}ml0 { - margin-left: 0; -} - -.#{$kna-namespace}mls { - margin-left: $small-value; -} - -.#{$kna-namespace}mlm { - margin-left: $medium-value; -} - -.#{$kna-namespace}mll { - margin-left: $large-value; -} - -.#{$kna-namespace}mauto { - margin: auto; -} - -.#{$kna-namespace}mtauto { - margin-top: auto; -} - -.#{$kna-namespace}mrauto { - margin-right: auto; -} - -.#{$kna-namespace}mbauto { - margin-bottom: auto; -} - -.#{$kna-namespace}mlauto { - margin-left: auto; -} - -.#{$kna-namespace}ptn, -.#{$kna-namespace}pt0 { - padding-top: 0; -} - -.#{$kna-namespace}pts { - padding-top: $small-value; -} - -.#{$kna-namespace}ptm { - padding-top: $medium-value; -} - -.#{$kna-namespace}ptl { - padding-top: $large-value; -} - -.#{$kna-namespace}prn, -.#{$kna-namespace}pr0 { - padding-right: 0; -} - -.#{$kna-namespace}prs { - padding-right: $small-value; -} - -.#{$kna-namespace}prm { - padding-right: $medium-value; -} - -.#{$kna-namespace}prl { - padding-right: $large-value; -} - -.#{$kna-namespace}pbn, -.#{$kna-namespace}pb0 { - padding-bottom: 0; -} - -.#{$kna-namespace}pbs { - padding-bottom: $small-value; -} - -.#{$kna-namespace}pbm { - padding-bottom: $medium-value; -} - -.#{$kna-namespace}pbl { - padding-bottom: $large-value; -} - -.#{$kna-namespace}pln, -.#{$kna-namespace}pl0 { - padding-left: 0; -} - -.#{$kna-namespace}pls { - padding-left: $small-value; -} - -.#{$kna-namespace}plm { - padding-left: $medium-value; -} - -.#{$kna-namespace}pll { - padding-left: $large-value; -}