From 38be7212d046f1001de491e9e390f1dca37e92d4 Mon Sep 17 00:00:00 2001 From: Raphael Goetter Date: Sat, 3 May 2014 14:38:58 +0200 Subject: [PATCH] retouches finales --- css/01-base.css | 314 ++++++++++----- css/02-grids.css | 122 ++++-- css/03-tables.css | 78 +--- css/04-forms.css | 8 - css/05-icons.css | 30 +- css/06-rwd.css | 83 +++- css/09-booleans.css | 149 +------ css/10-gmaps.css | 19 + css/11-ie.css | 93 +++++ css/12-styling.css | 119 ++++++ css/knacss.css | 935 +++++++++++++++++++++----------------------- less/knackLESS.zip | Bin 9499 -> 10940 bytes 12 files changed, 1115 insertions(+), 835 deletions(-) create mode 100644 css/10-gmaps.css create mode 100644 css/11-ie.css create mode 100644 css/12-styling.css diff --git a/css/01-base.css b/css/01-base.css index c1ea17c..eca6f47 100644 --- a/css/01-base.css +++ b/css/01-base.css @@ -1,52 +1,70 @@ /*! -* www.KNACSS.com V2.9.4 (2014-04) @author: Raphael Goetter, Alsacreations +* www.KNACSS.com V3.0.0 (2014-05) @author: Raphael Goetter, Alsacreations * Licence WTFPL http://www.wtfpl.net/ */ + /* ----------------------------- */ + /* == soft reset */ + /* ----------------------------- */ + /* switching box model for all elements */ + * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; box-sizing: border-box; } + /* soft reset */ + html, body { margin: 0; padding: 0; } + ul, ol { padding-left: 2em; } + ul.unstyled { list-style: none; } + img { height: auto; vertical-align: middle; border: 0; } + audio, canvas, video { display: inline-block; } + svg:not(:root) { overflow: hidden; } -figure { - margin: 0; -} + /* ----------------------------- */ + /* == typography */ + /* ----------------------------- */ -/* base font-size corresponds to 10px and is adapted to rem unit */ + +/* base font-size corresponds to "10px" and is adapted to rem unit */ + html { font-size: 62.5%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; + text-size-adjust: 100%; } + body { background-color: #ffffff; color: #000000; @@ -54,9 +72,11 @@ body { font-size: 1.4em; line-height: 1.5; } + /* font-sizing for content */ -/* preserve vertical-rythm, thanks to http://soqr.fr/vertical-rhythm/ */ + p, +.p-like, ul, ol, dl, @@ -70,68 +90,63 @@ caption, details, figure, hgroup { - margin-top: .75em; - margin-bottom: 0; - line-height: 1.5; -} -h1, -.h1-like { - margin-top: 0.65625em; - margin-bottom: 0; - font-size: 3.2rem; - line-height: 1.3125; -} -h2, -.h2-like { margin-top: 0.75em; margin-bottom: 0; - font-size: 2.8rem; line-height: 1.5; } + +h1, +.h1-like { + font-size: 3.2rem; +} + +h2, +.h2-like { + font-size: 2.8rem; +} + h3, .h3-like { - margin-top: 0.875em; - margin-bottom: 0; font-size: 2.4rem; - line-height: 1.75; } + h4, .h4-like { - margin-top: 1.05em; - margin-bottom: 0; font-size: 2rem; - line-height: 1.05; } + h5, .h5-like { - margin-top: 1.16666667em; - margin-bottom: 0; font-size: 1.8rem; - line-height: 1.16666667; } + h6, .h6-like { - margin-top: 1.3125em; - margin-bottom: 0; font-size: 1.6rem; - line-height: 1.3125; } + /* alternate font-sizing */ + .smaller { - font-size: 0.71428571em; + font-size: 0.71em; } + .small { - font-size: 0.85714286em; + font-size: 0.86em; } + .big { - font-size: 1.14285714em; + font-size: 1.14em; } + .bigger { - font-size: 1.28571429em; + font-size: 1.29em; } + .biggest { - font-size: 1.42857143em; + font-size: 1.43em; } + code, pre, samp, @@ -142,16 +157,42 @@ kbd { font-family: Consolas, 'DejaVu Sans Mono', Courier, monospace; line-height: normal; } -em { + +em, +.em, +address, +cite, +dfn, +i, +var { font-style: italic; } -strong { + +.no-em { + font-style: normal; +} + +strong, +.strong { font-weight: bold; } + +.no-strong { + font-weight: normal; +} + +small, +sub, +sup { + font-size: smaller; +} + /* ----------------------------- */ + /* == hiding content */ + /* ----------------------------- */ -/* hiding content */ + .visually-hidden { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); @@ -159,11 +200,39 @@ strong { height: 1px; width: 1px; } + +body > script { + display: none !important; +} + +@media print { + .no-print { + display: none; + } +} + +@media (max-width: 480px) { + .no-small-screen { + display: none; + } +} + +@media (min-width: 1024px) { + .no-large-screen { + display: none; + } +} + /* ----------------------------- */ + /* == browsers consistency */ + /* ----------------------------- */ + /* avoid top margins on first content element */ + p:first-child, +.p-like:first-child, ul:first-child, ol:first-child, dl:first-child, @@ -177,14 +246,19 @@ h5:first-child, h6:first-child { margin-top: 0; } + /* avoid margins on nested elements */ + li p, +li .p-like, li ul, li ol { margin-top: 0; margin-bottom: 0; } + /* max values */ + img, table, td, @@ -196,345 +270,389 @@ input, video { max-width: 100%; } + /* margin-bottom on tables */ + table { margin-bottom: 2em; } -/* scripts */ -body > script { - display: none !important; -} + /* ----------------------------- */ + /* ==layout and modules */ + /* ----------------------------- */ + /* float layout */ + /* module, gains superpower "BFC" Block Formating Context */ + .mod { overflow: hidden; } + /* blocks that needs to be placed under floats */ + .clear, .line, .row { clear: both; } + /* blocks that must contain floats */ + .clearfix:after, .line:after { content: ""; display: table; clear: both; } + /* table layout */ + .row { display: table; table-layout: fixed; width: 100%; } + .row > *, .col { display: table-cell; vertical-align: top; } + /* inline-block */ + .inbl { display: inline-block; vertical-align: top; } + /* alignments (blocks and inline) */ + /* ------------------------------ */ + /* left (or starting) elements */ + .left, .start { float: left; } + img.left, img.start { margin-right: 1em; } + /* right (or ending) elements */ + .right, .end { float: right; } + img.right, img.end { margin-left: 1em; } + img.left, img.right, img.start, img.end { margin-bottom: 0.5em; } + .center { margin-left: auto; margin-right: auto; } + .txtleft { text-align: left; } + .txtright { text-align: right; } + .txtcenter { text-align: center; } -/* blocks widths (percentage and pixels) */ + .w10 { width: 10%; } + .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%; } + .w90 { width: 90%; } + .w100 { width: 100%; } + .w50p { width: 50px; } + .w100p { width: 100px; } + .w150p { width: 150px; } + .w200p { width: 200px; } + .w300p { width: 300px; } + .w400p { width: 400px; } + .w500p { width: 500px; } + .w600p { width: 600px; } + .w700p { width: 700px; } + .w800p { width: 800px; } + .w960p { width: 960px; } + .mw960p { max-width: 960px; } + .w1140p { width: 1140px; } + .mw1140p { max-width: 1140px; } + .wauto { width: auto; } -/* spacing helpers - p,m = padding,margin - a,t,r,b,l = all,top,right,bottom,left - s,m,l,n = small, medium, large, none - */ -.m-reset, -.ma0 { + +.man { margin: 0; } -.p-reset, -.pa0 { + +.pan { padding: 0; } -.ma1, + .mas { margin: 1em; } -.ma2, + .mam { margin: 2em; } -.ma3, + .mal { margin: 4em; } -.pa1, + .pas { padding: 1em; } -.pa2, + .pam { padding: 2em; } -.pa3, + .pal { padding: 4em; } -.mt0, + .mtn { margin-top: 0; } -.mt1, + .mts { margin-top: 1em; } -.mt2, + .mtm { margin-top: 2em; } -.mt3, + .mtl { margin-top: 4em; } -.mr0, + .mrn { margin-right: 0; } -.mr1, + .mrs { margin-right: 1em; } -.mr2, + .mrm { margin-right: 2em; } -.mr3, + .mrl { margin-right: 4em; } -.mb0, + .mbn { margin-bottom: 0; } -.mb1, + .mbs { margin-bottom: 1em; } -.mb2, + .mbm { margin-bottom: 2em; } -.mb3, + .mbl { margin-bottom: 4em; } -.ml0, + .mln { margin-left: 0; } -.ml1, + .mls { margin-left: 1em; } -.ml2, + .mlm { margin-left: 2em; } -.ml3, + .mll { margin-left: 4em; } -.pt0, + .ptn { padding-top: 0; } -.pt1, + .pts { padding-top: 1em; } -.pt2, + .ptm { padding-top: 2em; } -.pt3, + .ptl { padding-top: 4em; } -.pr0, + .prn { padding-right: 0; } -.pr1, + .prs { padding-right: 1em; } -.pr2, + .prm { padding-right: 2em; } -.pr3, + .prl { padding-right: 4em; } -.pb0, + .pbn { padding-bottom: 0; } -.pb1, + .pbs { padding-bottom: 1em; } -.pb2, + .pbm { padding-bottom: 2em; } -.pb3, + .pbl { padding-bottom: 4em; } -.pl0, + .pln { padding-left: 0; } -.pl1, + .pls { padding-left: 1em; } -.pl2, + .plm { padding-left: 2em; } -.pl3, + .pll { padding-left: 4em; -} -/* debug helper */ -.knacss-debug { - background: pink; - outline: 3px solid maroon; -} +} \ No newline at end of file diff --git a/css/02-grids.css b/css/02-grids.css index 51a29c4..3a155ff 100644 --- a/css/02-grids.css +++ b/css/02-grids.css @@ -1,85 +1,111 @@ /* ---------------------------------- */ + /* ==classic grids */ + /* .. use it when gutter size matters */ + /* ---------------------------------- */ + /* grids inspired from SUIT https://github.com/suitcss/suit */ -/* font-family hack explained here : https://github.com/raphaelgoetter/KNACSS/issues/37 */ + .grid { + /* overall container of grids */ overflow: hidden; - font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; } + .grid > * { + /* global styles for direct child ex. .grid3 */ display: block; padding: 0; margin-left: -20px; /* gutter value */ text-align: left; - letter-spacing: -0.31em; - text-rendering: optimizespeed; } + +.grid > * > * { + /* global styles for each "cell" */ + display: inline-block; + padding-left: -20px; + /* gutter value */ + margin-left: 0; + vertical-align: top; +} + +/* whitespace fixing for modern browsers including IE9+ */ + +:root .grid { + font-size: 0; +} + +:root .grid > * > * { + font-size: 14px; + /* fallback for Opera Mini */ + font-size: 1.4rem; +} + /* Opera hack */ + .opera:-o-prefocus, .grid > * { word-spacing: -0.43em; } -.grid > * > * { - display: inline-block; - *display: inline; - *zoom: 1; - /* IE67 hack */ - width: 100%; - padding-left: 20px; - /* gutter value */ - margin-left: 0; - vertical-align: top; - text-align: left; - letter-spacing: normal; - word-spacing: normal; - text-rendering: auto; - font-family: Helvetica, Arial, sans-serif; -} + .grid2 > * { width: 50%; } + .grid3 > * { width: 33.333%; } + .grid4 > * { width: 25%; } + .grid5 > * { width: 20%; } + .grid6 > * { width: 16.667%; } + .grid8 > * { width: 12.5%; } + .grid10 > * { width: 10%; } + .grid12 > * { width: 8.333%; } + /* unequal grids (1-2, 2-1, 1-3 and 3-1) for 2 blocks */ + .grid2-1 > *:first-child, .grid1-2 > * + * { width: 66.666%; } + .grid1-2 > *:first-child, .grid2-1 > * + * { width: 33.333%; } + .grid1-3 > *:first-child, .grid3-1 > * + * { width: 25%; } + .grid3-1 > *:first-child, .grid1-3 > * + * { width: 75%; } + /* Responsiv-o-matic */ + @media (max-width: 1024px) { .grid5 > *, .grid6 > *, @@ -89,6 +115,7 @@ width: 33.333%; } } + @media (max-width: 480px) { .grid3 > *, .grid4 > *, @@ -100,67 +127,90 @@ width: 50%; } } + @media (max-width: 320px) { .grid > * > * { width: 100% !important; } } + /* ---------------------------------- */ + /* ==autogrids */ + /* .. to automatically justify blocs */ + /* ---------------------------------- */ + /* Demo : http://codepen.io/raphaelgoetter/pen/Kqehf */ + [class*="autogrid"] { + /* container of autogrids */ text-align: justify; - font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; - letter-spacing: -0.31em; - text-rendering: optimizespeed; -} -/* Opera hack */ -[class*="autogrid"]:-o-prefocus { - word-spacing: -0.43em; } + [class*="autogrid"]:after { content: ""; display: inline-block; width: 100%; } + [class*="autogrid"] > * { display: inline-block; - *display: inline; - zoom: 1; - /* ie6 ie7 hack */ - font-family: Helvetica, Arial, sans-serif; - letter-spacing: normal; - word-spacing: normal; vertical-align: top; text-align: left; - text-rendering: auto; } + +/* whitespace fixing for modern browsers including IE9+ */ + +:root [class*="autogrid"] { + font-size: 0; +} + +:root [class*="autogrid"] > * > * { + font-size: 14px; + /* fallback for Opera Mini */ + font-size: 1.4rem; +} + +/* Opera hack */ + +[class*="autogrid"]:-o-prefocus { + word-spacing: -0.43em; +} + .autogrid2 > * { width: 49%; } + .autogrid3 > * { width: 32%; } + .autogrid4 > * { width: 23.6%; } + .autogrid5 > * { width: 19%; } + .autogrid6 > * { width: 15%; } + .autogrid8 > * { width: 10.8%; } + .autogrid10 > * { width: 9%; } + .autogrid12 > * { width: 6.4%; } + @media (max-width: 1024px) { .autogrid5 > *, .autogrid6 > *, @@ -170,6 +220,7 @@ width: 32%; } } + @media (max-width: 480px) { .autogrid5 > *, .autogrid6 > *, @@ -179,8 +230,9 @@ width: 49%; } } + @media (max-width: 320px) { [class*="autogrid"] > * { width: 100%; } -} +} \ No newline at end of file diff --git a/css/03-tables.css b/css/03-tables.css index 1e65691..fe8cd8e 100644 --- a/css/03-tables.css +++ b/css/03-tables.css @@ -6,14 +6,12 @@ table, .table { + width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; vertical-align: top; -} - -table { - width: 100%; + border: 1px solid #ccc; } .table { @@ -26,73 +24,17 @@ table.table-auto { } caption { - padding: 10px; + padding: 1em; color: #555; font-style: italic; } -table { - border: 1px solid #ccc; -} - -tr > * + * { - border-left: 1px solid #ccc; -} - -th, -td { - padding: .3em .8em; +td, +th { + padding: 0.3em 0.8em; + border: 1px #aaa dotted; + vertical-align: top; + min-width: 2em; + cursor: default; text-align: left; - border-bottom: 1px solid #ccc; -} - -td { - color: #333; -} - -/* alternate tables */ - -.alternate { - border: 0; -} - -.alternate tbody { - border: 1px solid #ccc; -} - -.alternate thead tr > * + * { - border-left: 0; -} - -.alternate tbody tr > * + * { - border-left: 1px solid #ccc; -} - -/* alternate-vert tables */ - -.alternate-vert { - border: 0; - border-right: 1px solid #ccc; -} - -.alternate-vert tr > :first-child { - border-bottom: 0; -} - -.alternate-vert tr > * + * { - border-top: 1px solid #ccc; -} - -/* striped tables */ - -.striped tbody tr:nth-child(odd) { - background: #eee; - background: rgba(0, 0, 0, 0.05); -} - -/* striped-vert tables */ - -.striped-vert tr > :first-child { - background: #eee; - background: rgba(0, 0, 0, 0.05); } \ No newline at end of file diff --git a/css/04-forms.css b/css/04-forms.css index 3ae235c..7766db1 100644 --- a/css/04-forms.css +++ b/css/04-forms.css @@ -44,8 +44,6 @@ legend { } textarea { - overflow: auto; - /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */ min-height: 5em; vertical-align: top; font-family: inherit; @@ -62,12 +60,6 @@ input[type="submit"] { /* clickable input types in iOS */ } -input[type="checkbox"], -input[type="radio"] { - padding: 0; - /* Corrects excess space around these inputs in IE8/9 */ -} - input[type="search"] { -webkit-appearance: textfield; } diff --git a/css/05-icons.css b/css/05-icons.css index 5fe7311..6dd8f64 100644 --- a/css/05-icons.css +++ b/css/05-icons.css @@ -1,9 +1,13 @@ /* ----------------------------- */ + /* ==icons and bullets */ + /* ----------------------------- */ + .icon { display: inline-block; } + .icon:before, .icon.after:after { content: ""; @@ -17,6 +21,7 @@ text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); speak: none; } + @media (min-device-width: 480px) { .icon:before, .icon.after:after { @@ -24,56 +29,69 @@ -webkit-transform: rotateZ(0.05deg); } } + .icon.after:after { margin: 0 0 0 8px; } + .icon.after:before { content: "" !important; } + .icon-rate:before, .icon-rate.after:after { content: "\2605"; } + .icon-unrate:before, .icon-unrate.after:after { content: "\2606"; } + .icon-check:before, .icon-check.after:after { content: "\2713"; } + .icon-uncheck:before, .icon-uncheck.after:after { content: "\2717"; } + .icon-cloud:before, .icon-cloud.after:after { content: "\2601"; } + .icon-dl:before, .icon-dl.after:after { content: "\21E3"; font-weight: bold; } + .icon-cross:before, .icon-cross.after:after { content: "\2716"; font-weight: bold; } + .icon-arrow1:before, .icon-arrow1.after:after { content: "\2192"; position: relative; top: -0.15em; } + .icon-arrow2:before, .icon-arrow2.after:after { content: "\279E"; } + .icon-arrow3:before, .icon-arrow3.after:after { content: "\279A"; } + .icon-bracket1:before, .icon-bracket1.after:after { content: "\2039"; @@ -82,6 +100,7 @@ position: relative; top: -0.15em; } + .icon-bracket2:before, .icon-bracket2.after:after { content: "\203A"; @@ -90,48 +109,57 @@ position: relative; top: -0.15em; } + .icon-up:before, .icon-up.after:after { content: "\25B2"; } + .icon-down:before, .icon-down.after:after { content: "\25BC"; } + .icon-bull:before, .icon-bull.after:after { content: "\2022"; font-size: 1.2em; top: -0.05em; } + .icon-bull2:before, .icon-bull2.after:after { content: "\25E6"; top: -0.05em; } + .icon-bull3:before, .icon-bull3.after:after { content: "\2023"; font-size: 1.6em; top: -0.05em; } + .icon-nav:before, .icon-nav.after:after { content: "\2261"; font-weight: bold; } + .icon-losange:before, .icon-losange.after:after { content: "\25C6"; } + .icon-asteri:before, .icon-asteri.after:after { content: "\2731"; font-weight: bold; } + .icon-mail:before, .icon-mail.after:after { content: "\2709"; font-size: 1.6em; top: -0.05em; -} +} \ No newline at end of file diff --git a/css/06-rwd.css b/css/06-rwd.css index 2ba05e3..fbb3d92 100644 --- a/css/06-rwd.css +++ b/css/06-rwd.css @@ -1,56 +1,77 @@ /* ----------------------------- */ -/* ==desktop and retina medias */ + +/* ==desktop and HD devices */ + /* ----------------------------- */ + @media (min-width: 480px) { /* here go rules for big resources and big screens like: background-images, font-faces, etc. */ } + @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) { /* Style adjustments for retina devices */ } + /* ---------------------------------- */ -/* ==Responsive large / medium / tiny */ + +/* ==Responsive large / small / tiny */ + /* ---------------------------------- */ + @media (min-width: 1024px) { /* layouts for large screens */ + .large-hidden { display: none !important; } + .large-visible { display: block !important; } + .large-no-float { float: none; } + .large-inbl { display: inline-block; float: none; vertical-align: top; } + .large-row { display: table; table-layout: fixed; width: 100% !important; } + .large-col { display: table-cell; vertical-align: top; } + /* widths for large screens */ + .large-w25 { width: 25% !important; } + .large-w33 { width: 33.3333% !important; } + .large-w50 { width: 50% !important; } + .large-w66 { width: 66.6666% !important; } + .large-w75 { width: 75% !important; } + .large-w100, .large-wauto { display: block !important; @@ -61,13 +82,17 @@ margin-right: 0 !important; border: 0; } + /* margins for large screens */ - .large-ma0 { + + .large-man { margin: 0 !important; } } + @media (max-width: 480px) { /* quick reset in small resolution and less */ + .w600p, .w700p, .w800p, @@ -76,46 +101,60 @@ width: auto; float: none; } + /* layouts for small screens */ + .small-hidden { display: none !important; } + .small-visible { display: block !important; } + .small-no-float { float: none; } + .small-inbl { display: inline-block; float: none; vertical-align: top; } + .small-row { display: table !important; table-layout: fixed !important; width: 100% !important; } + .small-col { display: table-cell !important; vertical-align: top !important; } + /* widths for small screens */ + .small-w25 { width: 25% !important; } + .small-w33 { width: 33.3333% !important; } + .small-w50 { width: 50% !important; } + .small-w66 { width: 66.6666% !important; } + .small-w75 { width: 75% !important; } + .small-w100, .small-wauto { display: block !important; @@ -126,13 +165,21 @@ margin-right: 0 !important; border: 0; } + /* margins for small screens */ - .small-ma0 { + + .small-man { margin: 0 !important; } + + .small-pan { + padding: 0 !important; + } } + @media (max-width: 320px) { /* quick tiny resolution reset */ + .mod, .col, fieldset { @@ -144,65 +191,83 @@ margin-right: 0 !important; border: 0; } + .w300p, .w400p, .w500p { width: auto; float: none; } + .row { display: block !important; width: 100% !important; } + /* layouts for tiny screens */ + .tiny-hidden { display: none !important; } + .tiny-visible { display: block !important; } + .tiny-no-float { float: none; } + .tiny-inbl { display: inline-block; float: none; vertical-align: top; } + .tiny-row { display: table !important; table-layout: fixed !important; width: 100% !important; } + .tiny-col { display: table-cell !important; vertical-align: top !important; } + th, td { display: block !important; width: auto !important; text-align: left !important; } + thead { display: none; } + /* widths for tiny screens */ + .tiny-w25 { width: 25% !important; } + .tiny-w33 { width: 33.3333% !important; } + .tiny-w50 { width: 50% !important; } + .tiny-w66 { width: 66.6666% !important; } + .tiny-w75 { width: 75% !important; } + .tiny-w100, .tiny-wauto { display: block !important; @@ -213,8 +278,14 @@ margin-right: 0 !important; border: 0; } + /* margins for tiny screens */ - .tiny-ma0 { + + .tiny-man { margin: 0 !important; } -} + + .tiny-pan { + padding: 0 !important; + } +} \ No newline at end of file diff --git a/css/09-booleans.css b/css/09-booleans.css index 483eac5..dbc0514 100644 --- a/css/09-booleans.css +++ b/css/09-booleans.css @@ -1,77 +1,13 @@ -/* Google Gmap3 bug fix on images */ -.gm-style img { - height: 100%; -} -:not(.gm-style) img { - height: auto; -} -.gm-style img, -.gmnoscreen img, -.gmnoprint img { - max-width: none !important; -} -/* IE678 support */ -.ie678 h1, -.ie678 .h1-like { - font-size: 2.28571429em; -} -.ie678 h2, -.ie678 .h2-like { - font-size: 2em; -} -.ie678 h3, -.ie678 .h3-like { - font-size: 1.71428571em; -} -.ie678 h4, -.ie678 .h4-like { - font-size: 1.42857143em; -} -.ie678 h5, -.ie678 .h5-like { - font-size: 1.28571429em; -} -.ie678 h6, -.ie678 .h6-like { - font-size: 1.14285714em; -} -.ie678 img { - width: auto; - /* @bugfix for IE8 */ -} -.ie678 .gm-style img { - height: 100%; -} -/* hasLayout for IE6/IE7 */ -.clearfix, -.line, -.mod, -.row, -.col { - *zoom: 1; -} -/* inline-block and table-cell for IE6/IE7 */ -/* warning: .col needs width on IE6/IE7 */ -.btn, -.col, -.inbl { - *display: inline; - *zoom: 1; -} -.visually-hidden { - *clip: rect(1px 1px 1px 1px); -} -/* Active box-sizing for IE6/IE7 */ -/* @source https://github.com/Schepp/box-sizing-polyfill */ -/* - .ie67 * { - behavior: url(/lib/box-sizing-polyfill/boxsizing.htc); - } - */ -/* styling skip links */ +/* ----------------------------- */ + +/* ==booleans */ + +/* ----------------------------- */ + .skip-links { position: absolute; } + .skip-links a { position: absolute; left: -7000px; @@ -80,11 +16,14 @@ color: white; text-decoration: none; } + .skip-links a:focus { position: static; } + @media (max-width: 480px) { /* you shall not pass */ + div, textarea, table, @@ -94,69 +33,9 @@ pre, samp { word-wrap: break-word; + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; hyphens: auto; } -} -/* styling elements */ -code, -kbd, -mark { - border-radius: 2px; -} -kbd { - padding: 0 2px; - border: 1px solid #999; -} -code { - padding: 2px 4px; - background: rgba(0, 0, 0, 0.04); - color: #b11; -} -pre code { - padding: none; - background: none; - color: inherit; - border-radius: 0; -} -mark { - padding: 2px 4px; - background: #ff0; -} -sup, -sub { - vertical-align: 0; - position: relative; -} -sup { - bottom: 1ex; -} -sub { - top: .5ex; -} -blockquote { - margin-left: 0; - padding-left: 1em; - border-left: 4px solid rgba(0, 0, 0, 0.15); - font-style: italic; -} -q { - font-style: normal; -} -q, -.q { - quotes: "“\00a0" "\00a0”"; -} -q:lang(fr), -.q: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; -} +} \ No newline at end of file diff --git a/css/10-gmaps.css b/css/10-gmaps.css new file mode 100644 index 0000000..2b94168 --- /dev/null +++ b/css/10-gmaps.css @@ -0,0 +1,19 @@ +/* ----------------------------- */ + +/* ==gmaps support */ + +/* ----------------------------- */ + +.gm-style img { + height: 100%; +} + +:not(.gm-style) img { + height: auto; +} + +.gm-style img, +.gmnoscreen img, +.gmnoprint img { + max-width: none !important; +} \ No newline at end of file diff --git a/css/11-ie.css b/css/11-ie.css new file mode 100644 index 0000000..2be699d --- /dev/null +++ b/css/11-ie.css @@ -0,0 +1,93 @@ +/* ----------------------------- */ + +/* ==IE6, IE7, IE8 support */ + +/* ----------------------------- */ + +.ie678 h1, +.ie678 .h1-like { + font-size: 2.29em; +} + +.ie678 h2, +.ie678 .h2-like { + font-size: 2em; +} + +.ie678 h3, +.ie678 .h3-like { + font-size: 1.71em; +} + +.ie678 h4, +.ie678 .h4-like { + font-size: 1.43em; +} + +.ie678 h5, +.ie678 .h5-like { + font-size: 1.29em; +} + +.ie678 h6, +.ie678 .h6-like { + font-size: 1.14em; +} + +.ie678 img { + width: auto; + /* @bugfix for IE8 */ +} + +.ie678 .gm-style img { + height: 100%; +} + +.clearfix, +.line, +.mod, +.row, +.col { + *zoom: 1; +} + +.btn, +.col, +.inbl { + *display: inline; + *zoom: 1; +} + +.visually-hidden { + *clip: rect(1px 1px 1px 1px); +} + +.ie8 .grid > *, +.ie8 [class*="autogrid"] > * { + letter-spacing: -0.31em; + text-rendering: optimizespeed; +} + +.ie8 .grid > * > *, +.ie8 [class*="autogrid"] > * > * { + letter-spacing: normal; + word-spacing: normal; + text-rendering: auto; +} + +.grid > * > *, +[class*="autogrid"] > * > * { + *display: inline; + *zoom: 1; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + /* Corrects excess space around these inputs in IE8/9 */ +} + +textarea { + overflow: auto; + /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */ +} \ No newline at end of file diff --git a/css/12-styling.css b/css/12-styling.css new file mode 100644 index 0000000..0768a8e --- /dev/null +++ b/css/12-styling.css @@ -0,0 +1,119 @@ +/* ----------------------------- */ + +/* ==minor stylings */ + +/* ----------------------------- */ + +code, +kbd, +mark { + border-radius: 2px; +} + +kbd { + padding: 0 2px; + border: 1px solid #999; +} + +code { + padding: 2px 4px; + background: rgba(0, 0, 0, 0.04); + color: #b11; +} + +pre code { + padding: none; + background: none; + color: inherit; + border-radius: 0; +} + +mark { + padding: 2px 4px; + background: #ff0; +} + +sup, +sub { + vertical-align: 0; + position: relative; +} + +sup { + bottom: 1ex; +} + +sub { + top: 0.5ex; +} + +blockquote { + margin-left: 0; + padding-left: 1em; + border-left: 4px solid rgba(0, 0, 0, 0.15); + font-style: italic; +} + +q { + font-style: normal; +} + +q, +.q { + quotes: "“\00a0" "\00a0”"; +} + +q:lang(fr), +.q: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; +} + +.alternate { + border: 0; +} + +.alternate tbody { + border: 1px solid #ccc; +} + +.alternate thead tr > * + * { + border-left: 0; +} + +.alternate tbody tr > * + * { + border-left: 1px solid #ccc; +} + +.alternate-vert { + border: 0; + border-right: 1px solid #ccc; +} + +.alternate-vert tr > :first-child { + border-bottom: 0; +} + +.alternate-vert tr > * + * { + border-top: 1px solid #ccc; +} + +.striped tbody tr:nth-child(odd) { + background: #eee; + background: rgba(0, 0, 0, 0.05); +} + +.striped-vert tr > :first-child { + background: #eee; + background: rgba(0, 0, 0, 0.05); +} \ No newline at end of file diff --git a/css/knacss.css b/css/knacss.css index 00d50ac..58a19ed 100644 --- a/css/knacss.css +++ b/css/knacss.css @@ -1,5 +1,5 @@ /*! -* www.KNACSS.com V2.9.3 (2014-02) @author: Raphael Goetter, Alsacreations +* www.KNACSS.com V3.0.0 (2014-05) @author: Raphael Goetter, Alsacreations * Licence WTFPL http://www.wtfpl.net/ */ @@ -35,6 +35,7 @@ ul.unstyled { } img { + height: auto; vertical-align: middle; border: 0; } @@ -49,22 +50,19 @@ svg:not(:root) { overflow: hidden; } -figure { - margin: 0; -} - /* ----------------------------- */ /* == typography */ /* ----------------------------- */ -/* base font-size corresponds to 10px and is adapted to rem unit */ +/* base font-size corresponds to "10px" and is adapted to rem unit */ html { font-size: 62.5%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; + text-size-adjust: 100%; } body { @@ -77,9 +75,8 @@ body { /* font-sizing for content */ -/* preserve vertical-rythm, thanks to http://soqr.fr/vertical-rhythm/ */ - p, +.p-like, ul, ol, dl, @@ -93,79 +90,61 @@ caption, details, figure, hgroup { - margin-top: .75em; + margin-top: 0.75em; margin-bottom: 0; line-height: 1.5; } h1, .h1-like { - margin-top: 0.65625em; - margin-bottom: 0; font-size: 3.2rem; - line-height: 1.3125; } h2, .h2-like { - margin-top: 0.75em; - margin-bottom: 0; font-size: 2.8rem; - line-height: 1.5; } h3, .h3-like { - margin-top: 0.875em; - margin-bottom: 0; font-size: 2.4rem; - line-height: 1.75; } h4, .h4-like { - margin-top: 1.05em; - margin-bottom: 0; font-size: 2rem; - line-height: 1.05; } h5, .h5-like { - margin-top: 1.1666666666666667em; - margin-bottom: 0; font-size: 1.8rem; - line-height: 1.1666666666666667; } h6, .h6-like { - margin-top: 1.3125em; - margin-bottom: 0; font-size: 1.6rem; - line-height: 1.3125; } /* alternate font-sizing */ .smaller { - font-size: 0.7142857142857143em; + font-size: 0.71em; } .small { - font-size: 0.8571428571428571em; + font-size: 0.86em; } .big { - font-size: 1.1428571428571428em; + font-size: 1.14em; } .bigger { - font-size: 1.2857142857142858em; + font-size: 1.29em; } .biggest { - font-size: 1.4285714285714286em; + font-size: 1.43em; } code, @@ -176,51 +155,36 @@ kbd { /* IE fix */ white-space: pre-wrap; font-family: Consolas, 'DejaVu Sans Mono', Courier, monospace; - line-height: 1; + line-height: normal; } -code, -kbd, -mark { - border-radius: 2px; -} - -em { +em, +.em, +address, +cite, +dfn, +i, +var { font-style: italic; } -strong { +.no-em { + font-style: normal; +} + +strong, +.strong { font-weight: bold; } -kbd { - padding: 0 2px; - border: 1px solid #999; -} - -code { - padding: 2px 4px; - background: rgba(0, 0, 0, 0.04); - color: #b11; -} - -mark { - padding: 2px 4px; - background: #ff0; -} - -sup, -sub { - vertical-align: 0; - position: relative; +.no-strong { + font-weight: normal; } +small, +sub, sup { - bottom: 1ex; -} - -sub { - top: .5ex; + font-size: smaller; } /* ----------------------------- */ @@ -229,46 +193,34 @@ sub { /* ----------------------------- */ -/* hiding content */ - .visually-hidden { - position: absolute; - left: -7000px; + position: absolute !important; + clip: rect(1px, 1px, 1px, 1px); overflow: hidden; + height: 1px; + width: 1px; } -[dir=rtl] .visually-hidden { - left: auto; - right: -7000px; +body > script { + display: none !important; } -.desktop-hidden { - display: none; +@media print { + .no-print { + display: none; + } } -/* hidden on desktop */ - -/* ----------------------------- */ - -/* == skip links styling */ - -/* ----------------------------- */ - -.skip-links { - position: absolute; +@media (max-width: 480px) { + .no-small-screen { + display: none; + } } -.skip-links a { - position: absolute; - left: -7000px; - padding: 0.5em; - background: black; - color: white; - text-decoration: none; -} - -.skip-links a:focus { - position: static; +@media (min-width: 1024px) { + .no-large-screen { + display: none; + } } /* ----------------------------- */ @@ -280,6 +232,7 @@ sub { /* avoid top margins on first content element */ p:first-child, +.p-like:first-child, ul:first-child, ol:first-child, dl:first-child, @@ -297,6 +250,7 @@ h6:first-child { /* avoid margins on nested elements */ li p, +li .p-like, li ul, li ol { margin-top: 0; @@ -320,30 +274,7 @@ video { /* margin-bottom on tables */ table { - margin-bottom: 1.5em; -} - -/* Google Gmap3 bug fix on images */ - -:not(.gm-style) img { - height: auto !important; -} - -.ie678 .gm-style img { - height: 100%; - /* IE678 hack */ -} - -.gm-style img, -.gmnoscreen img, -.gmnoprint img { - max-width: none !important; -} - -/* scripts */ - -body > script { - display: none !important; + margin-bottom: 2em; } /* ----------------------------- */ @@ -371,8 +302,7 @@ body > script { /* blocks that must contain floats */ .clearfix:after, -.line:after, -.mod:after { +.line:after { content: ""; display: table; clear: both; @@ -403,29 +333,35 @@ body > script { /* ------------------------------ */ -/* left elements */ +/* left (or starting) elements */ -.left { +.left, +.start { float: left; } -img.left { +img.left, +img.start { margin-right: 1em; } -/* right elements */ +/* right (or ending) elements */ -.right { +.right, +.end { float: right; } -img.right { +img.right, +img.end { margin-left: 1em; } img.left, -img.right { - margin-bottom: 5px; +img.right, +img.start, +img.end { + margin-bottom: 0.5em; } .center { @@ -445,16 +381,6 @@ img.right { text-align: center; } -/* ----------------------------- */ - -/* == width helpers */ - -/* .. use only when needed */ - -/* ----------------------------- */ - -/* blocks widths (percentage and pixels) */ - .w10 { width: 10%; } @@ -571,329 +497,164 @@ img.right { width: auto; } -/* ----------------------------- */ - -/* == spacing helpers */ - -/* .. use only when needed */ - -/* ----------------------------- */ - -/* spacing helpers -p,m = padding,margin -a,t,r,b,l = all,top,right,bottom,left -s,m,l,n = small(10px),medium(20px),large(30px),none(0) -source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css -*/ - -.m-reset, -.ma0 { +.man { margin: 0; } -.p-reset, -.pa0 { +.pan { padding: 0; } -.ma1, .mas { - margin: 10px; + margin: 1em; } -.ma2, .mam { - margin: 20px; + margin: 2em; } -.ma3, .mal { - margin: 30px; + margin: 4em; } -.pa1, .pas { - padding: 10px; + padding: 1em; } -.pa2, .pam { - padding: 20px; + padding: 2em; } -.pa3, .pal { - padding: 30px; + padding: 4em; } -.mt0, .mtn { margin-top: 0; } -.mt1, .mts { - margin-top: 10px; + margin-top: 1em; } -.mt2, .mtm { - margin-top: 20px; + margin-top: 2em; } -.mt3, .mtl { - margin-top: 30px; + margin-top: 4em; } -.mr0, .mrn { margin-right: 0; } -.mr1, .mrs { - margin-right: 10px; + margin-right: 1em; } -.mr2, .mrm { - margin-right: 20px; + margin-right: 2em; } -.mr3, .mrl { - margin-right: 30px; + margin-right: 4em; } -.mb0, .mbn { margin-bottom: 0; } -.mb1, .mbs { - margin-bottom: 10px; + margin-bottom: 1em; } -.mb2, .mbm { - margin-bottom: 20px; + margin-bottom: 2em; } -.mb3, .mbl { - margin-bottom: 30px; + margin-bottom: 4em; } -.ml0, .mln { margin-left: 0; } -.ml1, .mls { - margin-left: 10px; + margin-left: 1em; } -.ml2, .mlm { - margin-left: 20px; + margin-left: 2em; } -.ml3, .mll { - margin-left: 30px; + margin-left: 4em; } -.pt0, .ptn { padding-top: 0; } -.pt1, .pts { - padding-top: 10px; + padding-top: 1em; } -.pt2, .ptm { - padding-top: 20px; + padding-top: 2em; } -.pt3, .ptl { - padding-top: 30px; + padding-top: 4em; } -.pr0, .prn { padding-right: 0; } -.pr1, .prs { - padding-right: 10px; + padding-right: 1em; } -.pr2, .prm { - padding-right: 20px; + padding-right: 2em; } -.pr3, .prl { - padding-right: 30px; + padding-right: 4em; } -.pb0, .pbn { padding-bottom: 0; } -.pb1, .pbs { - padding-bottom: 10px; + padding-bottom: 1em; } -.pb2, .pbm { - padding-bottom: 20px; + padding-bottom: 2em; } -.pb3, .pbl { - padding-bottom: 30px; + padding-bottom: 4em; } -.pl0, .pln { padding-left: 0; } -.pl1, .pls { - padding-left: 10px; + padding-left: 1em; } -.pl2, .plm { - padding-left: 20px; + padding-left: 2em; } -.pl3, .pll { - padding-left: 30px; -} - -/* ----------------------------- */ - -/* == iefix */ - -/* ----------------------------- */ - -/* Make sure you are using Conditional Classes in your HTML */ - -/* see : http://www.alsacreations.com/astuce/lire/988-classes-conditionnelles-HTML.html */ - -.ie678 h1, -.ie678 .h1-like { - font-size: 2.2857142857142856em; -} - -.ie678 h2, -.ie678 .h2-like { - font-size: 2em; -} - -.ie678 h3, -.ie678 .h3-like { - font-size: 1.7142857142857142em; -} - -.ie678 h4, -.ie678 .h4-like { - font-size: 1.4285714285714286em; -} - -.ie678 h5, -.ie678 .h5-like { - font-size: 1.2857142857142858em; -} - -.ie678 h6, -.ie678 .h6-like { - font-size: 1.1428571428571428em; -} - -/* hasLayout for IE6/IE7 */ - -.ie67 .clearfix, -.ie67 .line, -.ie67 .mod, -.ie67 .row, -.ie67 .col { - zoom: 1; -} - -/* inline-block and table-cell for IE6/IE7 */ - -/* warning: .col needs width on IE6/IE7 */ - -.ie67 .btn, -.ie67 .col, -.ie67 .inbl { - display: inline; - zoom: 1; -} - -.ie8 img { - width: auto; - /* @bugfix for IE8 */ -} - -/* Active box-sizing for IE6/IE7 */ - -/* @source https://github.com/Schepp/box-sizing-polyfill */ - -/* -.ie67 * { - behavior: url(/lib/box-sizing-polyfill/boxsizing.htc); -} -*/ - -/* ----------------------------- */ - -/* == quick print reset */ - -/* ----------------------------- */ - -@media print { - p, - blockquote { - orphans: 2; - widows: 2; - } - - blockquote, - ul, - ol { - page-break-inside: avoid; - } - - h1, - h2, - h3, - caption { - page-break-after: avoid; - } -} - -/* debug helper */ - -.knacss-debug { - background: pink; - outline: 3px solid maroon; + padding-left: 4em; } /* ---------------------------------- */ @@ -906,21 +667,39 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css /* grids inspired from SUIT https://github.com/suitcss/suit */ -/* font-family hack explained here : https://github.com/raphaelgoetter/KNACSS/issues/37 */ - .grid { + /* overall container of grids */ overflow: hidden; - font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; } .grid > * { + /* global styles for direct child ex. .grid3 */ display: block; padding: 0; margin-left: -20px; /* gutter value */ text-align: left; - letter-spacing: -0.31em; - text-rendering: optimizespeed; +} + +.grid > * > * { + /* global styles for each "cell" */ + display: inline-block; + padding-left: -20px; + /* gutter value */ + margin-left: 0; + vertical-align: top; +} + +/* whitespace fixing for modern browsers including IE9+ */ + +:root .grid { + font-size: 0; +} + +:root .grid > * > * { + font-size: 14px; + /* fallback for Opera Mini */ + font-size: 1.4rem; } /* Opera hack */ @@ -930,23 +709,6 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css word-spacing: -0.43em; } -.grid > * > * { - display: inline-block; - *display: inline; - *zoom: 1; - /* IE67 hack */ - width: 100%; - padding-left: 20px; - /* gutter value */ - margin-left: 0; - vertical-align: top; - text-align: left; - letter-spacing: normal; - word-spacing: normal; - text-rendering: auto; - font-family: Helvetica, Arial, sans-serif; -} - .grid2 > * { width: 50%; } @@ -1003,7 +765,7 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css /* Responsiv-o-matic */ -@media (max-width: 1280px) { +@media (max-width: 1024px) { .grid5 > *, .grid6 > *, .grid8 > *, @@ -1013,7 +775,7 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css } } -@media (max-width: 768px) { +@media (max-width: 480px) { .grid3 > *, .grid4 > *, .grid5 > *, @@ -1025,7 +787,7 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css } } -@media (max-width: 480px) { +@media (max-width: 320px) { .grid > * > * { width: 100% !important; } @@ -1042,16 +804,8 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css /* Demo : http://codepen.io/raphaelgoetter/pen/Kqehf */ [class*="autogrid"] { + /* container of autogrids */ text-align: justify; - font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; - letter-spacing: -0.31em; - text-rendering: optimizespeed; -} - -/* Opera hack */ - -[class*="autogrid"]:-o-prefocus { - word-spacing: -0.43em; } [class*="autogrid"]:after { @@ -1062,14 +816,26 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css [class*="autogrid"] > * { display: inline-block; - *display: inline; - zoom: 1; - /* ie6 ie7 hack */ - font-family: Helvetica, Arial, sans-serif; - letter-spacing: normal; - word-spacing: normal; vertical-align: top; - text-rendering: auto; + text-align: left; +} + +/* whitespace fixing for modern browsers including IE9+ */ + +:root [class*="autogrid"] { + font-size: 0; +} + +:root [class*="autogrid"] > * > * { + font-size: 14px; + /* fallback for Opera Mini */ + font-size: 1.4rem; +} + +/* Opera hack */ + +[class*="autogrid"]:-o-prefocus { + word-spacing: -0.43em; } .autogrid2 > * { @@ -1104,7 +870,7 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css width: 6.4%; } -@media (max-width: 1280px) { +@media (max-width: 1024px) { .autogrid5 > *, .autogrid6 > *, .autogrid8 > *, @@ -1114,7 +880,7 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css } } -@media (max-width: 768px) { +@media (max-width: 480px) { .autogrid5 > *, .autogrid6 > *, .autogrid8 > *, @@ -1124,7 +890,7 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css } } -@media (max-width: 480px) { +@media (max-width: 320px) { [class*="autogrid"] > * { width: 100%; } @@ -1138,14 +904,12 @@ source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css table, .table { + width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; vertical-align: top; -} - -table { - width: 100%; + border: 1px solid #ccc; } .table { @@ -1158,75 +922,19 @@ table.table-auto { } caption { - padding: 10px; + padding: 1em; color: #555; font-style: italic; } -table { - border: 1px solid #ccc; -} - -tr > * + * { - border-left: 1px solid #ccc; -} - -th, -td { - padding: .3em .8em; +td, +th { + padding: 0.3em 0.8em; + border: 1px #aaa dotted; + vertical-align: top; + min-width: 2em; + cursor: default; text-align: left; - border-bottom: 1px solid #ccc; -} - -td { - color: #333; -} - -/* alternate tables */ - -.alternate { - border: 0; -} - -.alternate tbody { - border: 1px solid #ccc; -} - -.alternate thead tr > * + * { - border-left: 0; -} - -.alternate tbody tr > * + * { - border-left: 1px solid #ccc; -} - -/* alternate-vert tables */ - -.alternate-vert { - border: 0; - border-right: 1px solid #ccc; -} - -.alternate-vert tr > :first-child { - border-bottom: 0; -} - -.alternate-vert tr > * + * { - border-top: 1px solid #ccc; -} - -/* striped tables */ - -.striped tbody tr:nth-child(odd) { - background: #eee; - background: rgba(0, 0, 0, 0.05); -} - -/* striped-vert tables */ - -.striped-vert tr > :first-child { - background: #eee; - background: rgba(0, 0, 0, 0.05); } /* ----------------------------- */ @@ -1275,8 +983,6 @@ legend { } textarea { - overflow: auto; - /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */ min-height: 5em; vertical-align: top; font-family: inherit; @@ -1293,12 +999,6 @@ input[type="submit"] { /* clickable input types in iOS */ } -input[type="checkbox"], -input[type="radio"] { - padding: 0; - /* Corrects excess space around these inputs in IE8/9 */ -} - input[type="search"] { -webkit-appearance: textfield; } @@ -1357,7 +1057,7 @@ input[type='submit']::-moz-focus-inner { speak: none; } -@media (min-device-width: 768px) { +@media (min-device-width: 480px) { .icon:before, .icon.after:after { font: 1em/0.6 sans-serif; @@ -1501,11 +1201,11 @@ input[type='submit']::-moz-focus-inner { /* ----------------------------- */ -/* ==desktop and retina medias */ +/* ==desktop and HD devices */ /* ----------------------------- */ -@media (min-width: 768px) { +@media (min-width: 480px) { /* here go rules for big resources and big screens like: background-images, font-faces, etc. */ } @@ -1515,11 +1215,11 @@ input[type='submit']::-moz-focus-inner { /* ---------------------------------- */ -/* ==Responsive large / medium / tiny */ +/* ==Responsive large / small / tiny */ /* ---------------------------------- */ -@media (min-width: 1280px) { +@media (min-width: 1024px) { /* layouts for large screens */ .large-hidden { @@ -1586,12 +1286,12 @@ input[type='submit']::-moz-focus-inner { /* margins for large screens */ - .large-ma0 { + .large-man { margin: 0 !important; } } -@media (max-width: 768px) { +@media (max-width: 480px) { /* quick reset in small resolution and less */ .w600p, @@ -1634,23 +1334,6 @@ input[type='submit']::-moz-focus-inner { vertical-align: top !important; } - /* you shall not pass */ - - div, - textarea, - table, - td, - th, - code, - pre, - samp { - word-wrap: break-word; - -webkit-hyphens: auto; - -moz-hyphens: auto; - -ms-hyphens: auto; - hyphens: auto; - } - /* widths for small screens */ .small-w25 { @@ -1686,12 +1369,16 @@ input[type='submit']::-moz-focus-inner { /* margins for small screens */ - .small-ma0 { + .small-man { margin: 0 !important; } + + .small-pan { + padding: 0 !important; + } } -@media (max-width: 480px) { +@media (max-width: 320px) { /* quick tiny resolution reset */ .mod, @@ -1795,9 +1482,13 @@ input[type='submit']::-moz-focus-inner { /* margins for tiny screens */ - .tiny-ma0 { + .tiny-man { margin: 0 !important; } + + .tiny-pan { + padding: 0 !important; + } } /* flexbox layout @@ -1955,6 +1646,282 @@ Tutorial: http://knacss.com/demos/tutoriel.html#flex */ /* ----------------------------- */ +/* ==booleans */ + +/* ----------------------------- */ + +.skip-links { + position: absolute; +} + +.skip-links a { + position: absolute; + left: -7000px; + padding: 0.5em; + background: black; + color: white; + text-decoration: none; +} + +.skip-links a:focus { + position: static; +} + +@media (max-width: 480px) { + /* you shall not pass */ + + div, + textarea, + table, + td, + th, + code, + pre, + samp { + word-wrap: break-word; + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + } +} + +/* ----------------------------- */ + +/* ==gmaps support */ + +/* ----------------------------- */ + +.gm-style img { + height: 100%; +} + +:not(.gm-style) img { + height: auto; +} + +.gm-style img, +.gmnoscreen img, +.gmnoprint img { + max-width: none !important; +} + +/* ----------------------------- */ + +/* ==IE6, IE7, IE8 support */ + +/* ----------------------------- */ + +.ie678 h1, +.ie678 .h1-like { + font-size: 2.29em; +} + +.ie678 h2, +.ie678 .h2-like { + font-size: 2em; +} + +.ie678 h3, +.ie678 .h3-like { + font-size: 1.71em; +} + +.ie678 h4, +.ie678 .h4-like { + font-size: 1.43em; +} + +.ie678 h5, +.ie678 .h5-like { + font-size: 1.29em; +} + +.ie678 h6, +.ie678 .h6-like { + font-size: 1.14em; +} + +.ie678 img { + width: auto; + /* @bugfix for IE8 */ +} + +.ie678 .gm-style img { + height: 100%; +} + +.clearfix, +.line, +.mod, +.row, +.col { + *zoom: 1; +} + +.btn, +.col, +.inbl { + *display: inline; + *zoom: 1; +} + +.visually-hidden { + *clip: rect(1px 1px 1px 1px); +} + +.ie8 .grid > *, +.ie8 [class*="autogrid"] > * { + letter-spacing: -0.31em; + text-rendering: optimizespeed; +} + +.ie8 .grid > * > *, +.ie8 [class*="autogrid"] > * > * { + letter-spacing: normal; + word-spacing: normal; + text-rendering: auto; +} + +.grid > * > *, +[class*="autogrid"] > * > * { + *display: inline; + *zoom: 1; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + /* Corrects excess space around these inputs in IE8/9 */ +} + +textarea { + overflow: auto; + /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */ +} + +/* ----------------------------- */ + +/* ==minor stylings */ + +/* ----------------------------- */ + +code, +kbd, +mark { + border-radius: 2px; +} + +kbd { + padding: 0 2px; + border: 1px solid #999; +} + +code { + padding: 2px 4px; + background: rgba(0, 0, 0, 0.04); + color: #b11; +} + +pre code { + padding: none; + background: none; + color: inherit; + border-radius: 0; +} + +mark { + padding: 2px 4px; + background: #ff0; +} + +sup, +sub { + vertical-align: 0; + position: relative; +} + +sup { + bottom: 1ex; +} + +sub { + top: 0.5ex; +} + +blockquote { + margin-left: 0; + padding-left: 1em; + border-left: 4px solid rgba(0, 0, 0, 0.15); + font-style: italic; +} + +q { + font-style: normal; +} + +q, +.q { + quotes: "“\00a0" "\00a0”"; +} + +q:lang(fr), +.q: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; +} + +.alternate { + border: 0; +} + +.alternate tbody { + border: 1px solid #ccc; +} + +.alternate thead tr > * + * { + border-left: 0; +} + +.alternate tbody tr > * + * { + border-left: 1px solid #ccc; +} + +.alternate-vert { + border: 0; + border-right: 1px solid #ccc; +} + +.alternate-vert tr > :first-child { + border-bottom: 0; +} + +.alternate-vert tr > * + * { + border-top: 1px solid #ccc; +} + +.striped tbody tr:nth-child(odd) { + background: #eee; + background: rgba(0, 0, 0, 0.05); +} + +.striped-vert tr > :first-child { + background: #eee; + background: rgba(0, 0, 0, 0.05); +} + +/* ----------------------------- */ + /* ==own stylesheet */ /* ----------------------------- */ diff --git a/less/knackLESS.zip b/less/knackLESS.zip index 4a854a78406c5a512a2eaebf230ee153fb395a3e..5baaa79b5c4398433af78f0c88dffadf02bb5d77 100644 GIT binary patch delta 10039 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 Jru*yPe*w$>IB5U? delta 8636 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