/* * www.KNACSS.com V2.6d @author: Raphael Goetter, Alsacreations * Licence CC-BY http://creativecommons.org/licenses/by/3.0/fr/ */ /* Compass imports */ @import "compass/css3"; /* ----------------------------- */ /* ==helpers */ /* ----------------------------- */ /** * Mixin handling REM with PX fallback * Takes either PX or REM as input * Outputs both in appropriate order */ @mixin rem($property, $values) { $px : (); $rem: (); @each $value in $values { @if $value == 0 or $value == auto { $px : append($px , $value); $rem: append($rem, $value); } @else { $unit: unit($value); $val: $value / ($value * 0 + 1); @if $unit == "px" { $px : append($px, $value); $rem: append($rem, ($val / 10 + rem)); } @if $unit == "rem" { $px : append($px, ($val * 10 + px)); $rem: append($rem, $value); } } } #{$property}: $px; #{$property}: $rem; } @mixin r($breakpoint) { @if $breakpoint == "large" { @media (min-width: 1280px) { @content; } } @if $breakpoint == "medium" { @media (max-width: 768px) { @content; } } @if $breakpoint == "small" { @media (max-width: 640px) { @content; } } } /** * Clearfix */ .clearfix:after { content: ''; clear: both; display: table; } /** * Hidden yet accessible content */ .visuallyhidden { clip: rect(0 0 0 0); width: 1px; height: 1px; margin: -1px; overflow: hidden; padding: 0; border: 0; position: absolute; } /* ----------------------------- */ /* ==reset */ /* ----------------------------- */ /** * 1. Base font-size (corresponds to 10px) adapted to REM unit * 2. Orientation iOS font-size fix */ html { font-size: 62.5%; /* 1 */ @media (orientation: landscape) and (max-device-width: 768px) { -webkit-text-size-adjust: 100%; /* 2 */ } } body { background-color: #fff; color: #000; font-family: "Century Gothic", helvetica, arial, sans-serif; @include rem('font-size', 14px); line-height: 1.5; } /** * Font-sizing for content * Preserves vertical-rythm * Source: http://soqr.fr/vertical-rhythm/ */ p, ul, ol, dl, blockquote, pre, td, th, label, textarea, caption, details, figure, hgroup { @include rem('font-size', 14px); line-height: 1.5; margin: .75em 0 0; } h1, .h1-like, h2, .h2-like, h3, .h3-like, h4, .h4-like, h5, .h5-like, h6, .h6-like { font-weight: normal; @include rem('margin', 21px 0 0 0); } h1, .h1-like, h2, .h2-like, h3, .h3-like { @include rem('line-height', 42px 0 0 0); } h4, .h4-like, h5, .h5-like, h6, .h6-like { @include rem('line-height', 21px 0 0 0); } h1, .h1-like { @include rem('font-size', 26px); } h2, .h2-like { @include rem('font-size', 24px); } h3, .h3-like { @include rem('font-size', 22px); } h4, .h4-like { @include rem('font-size', 20px); } h5, .h5-like { @include rem('font-size', 18px); } h6, .h6-like { @include rem('font-size', 16px); } /* alternate font-sizing */ .smaller { @include rem('font-size', 10px); } .small { @include rem('font-size', 12px); } .medium { @include rem('font-size', 14px); } .big { @include rem('font-size', 16px); } .bigger { @include rem('font-size', 18px); } .biggest { @include rem('font-size', 20px); } /** * Soft reset */ html, body, textarea, figure, label { margin: 0; padding: 0; } ul, ol { padding-left: 2em; &.unstyled { list-style: none; } } code, pre, samp, kbd { white-space: pre-wrap; font-family: consolas, 'DejaVu Sans Mono', courier, monospace; line-height: 1em; } code, kbd, mark { border-radius: 2px; } em { font-style: italic; } strong { font-weight: bold; } kbd { padding: 0 2px; border: 1px solid #999; } code { padding: 2px 4px; background: rgba(0,0,0,.04); color: #b11; } mark { padding:2px 4px; background: #ff0; } table { margin-bottom: 1.5em; } /** * Avoid top margins on first content element */ p, ul, ol dl, blockquote, pre, h1, h2, h3, h4, h5, h6 { &:first-child { margin-top: 0; } } /** * Avoid margins on nested elements */ li { p, ul, ol { margin-top: 0; margin-bottom: 0; } } /** * Prevents those to break out of their container */ img, table, td, blockquote, code, pre, textarea, input, video { max-width: 100%; } /** * You shall not pass */ div, textarea, table, td, th, code, pre, samp { word-wrap: break-word; @include hyphens(auto); } /** * Pictures */ img { height: auto; vertical-align: middle; /* Gmap3 max-width bug fix on images */ #map_canvas &, .gmnoprint & { max-width: none; } a & { border: 0; } } /* scripts */ body > script { display: none !important; } /* skip-links */ .skip-links { position: absolute; a { position: absolute; left: -7000px; padding: 0.5em; background: #000; color:#fff; text-decoration: none; &:focus { position: static; } } } /* ----------------------------- */ /* ==layout and modules */ /* ----------------------------- */ /** * Switching box-model for all elements * 1. ...and pseudo-elements */ *, *:after, /* 1 */ *:before { @include box-sizing(border-box); } /** * Float layout * module, contains floats (.item is the same) */ .mod, .item { overflow: hidden; } /** * Blocks that needs to be placed under floats */ .clear, .line, .row { clear: both; } /** * Blocks that must contain floats */ .clearfix, .line, .mod { @extend .clearfix; } /** * Table layout */ .row { display: table; table-layout: fixed; width: 100%; } .row > *, .col { display: table-cell; vertical-align: top; } /** * Inline-blocks */ .inbl { @include inline-block(top); margin-right: -.25em; } /** * Flexbox layout */ .flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; } .flex-h { -webkit-box-orient: horizontal; -moz-box-orient: horizontal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .flex-v { -webkit-box-orient: vertical; -moz-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .flex-fluid { -webkit-box-flox: 1; -moz-box-flex: 1; -webkit-flex: 1; -moz-flex: 1; -ms-flex: 1; flex: 1; } .flex-start { -webkit-box-ordinal-group: -1; -moz-box-ordinal-group: 0; -ms-flex-order: -1; -webkit-order: -1; -moz-order: -1; order: -1; } .flex-mid { -webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; -moz-order: 1; order: 1; } .flex-end { -webkit-box-ordinal-group: 42; -moz-box-ordinal-group: 42; -ms-flex-order: 42; -webkit-order: 42; -moz-order: 42; order: 42; } /* Alignments (blocks and inline) */ /* ------------------------------ */ .left { float: left; } .right { float: right; } img.left { margin-right: 1em; } img.right { margin-left: 1em; } img.left, img.right { margin-bottom: 5px; } .center { margin-left: auto; margin-right: auto; } .txtleft { text-align: left; } .txtright { text-align: right; } .txtcenter { text-align: center; } /** * Blocks widths * (percentages and pixels) */ .w10 { width: 10%; } .w20 { width: 20%; } .w25 { width: 25%; } .w30 { width: 30%; } .w33 { width: 33.333%; } .w40 { width: 40%; } .w50 { width: 50%; } .w60 { width: 60%; } .w66 { width: 66.666%; } .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; } /** * Spacing helpers * p, m = padding,margin * a, t, r, b, l = all, top, right, bottom, left * s, m, l, n, 0 = small(10px), medium(20px), large(30px), zero or none(0) * Source: https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css */ .m-reset, .ma0 { margin: 0 !important; } .p-reset, .pa0 { padding: 0 !important; } .ma1, .mas { margin: 10px !important; } .ma2, .mam { margin: 20px !important; } .ma3, .mal { margin: 30px !important; } .pa1, .pas { padding: 10px; } .pa2, .pam { padding: 20px; } .pa3, .pal { padding: 30px; } .mt0, .mtn { margin-top: 0 !important; } .mt1, .mts { margin-top: 10px !important; } .mt2, .mtm { margin-top: 20px !important; } .mt3, .mtl { margin-top: 30px !important; } .mr0, .mrn { margin-right: 0; } .mr1, .mrs { margin-right: 10px; } .mr2, .mrm { margin-right: 20px; } .mr3, .mrl { margin-right: 30px; } .mb0, .mbn { margin-bottom: 0 !important; } .mb1, .mbs { margin-bottom: 10px !important; } .mb2, .mbm { margin-bottom: 20px !important; } .mb3, .mbl { margin-bottom: 30px !important; } .ml0, .mln { margin-left: 0; } .ml1, .mls { margin-left: 10px; } .ml2, .mlm { margin-left: 20px; } .ml3, .mll { margin-left: 30px; } .pt0, .ptn { padding-top: 0; } .pt1, .pts { padding-top: 10px; } .pt2, .ptm { padding-top: 20px; } .pt3, .ptl { padding-top: 30px; } .pr0, .prn { padding-right: 0; } .pr1, .prs { padding-right: 10px; } .pr2, .prm { padding-right: 20px; } .pr3, .prl { padding-right: 30px; } .pb0, .pbn { padding-bottom: 0; } .pb1, .pbs { padding-bottom: 10px; } .pb2, .pbm { padding-bottom: 20px; } .pb3, .pbl { padding-bottom: 30px; } .pl0, .pln { padding-left: 0; } .pl1, .pls { padding-left: 10px; } .pl2, .plm { padding-left: 20px; } .pl3, .pll { padding-left: 30px; } .desktop-hidden { display: none; } /* hidden on desktop */ /* ----------------------------- */ /* ==header */ /* ----------------------------- */ /* ----------------------------- */ /* ==sidebar */ /* ----------------------------- */ /* ----------------------------- */ /* ==footer */ /* ----------------------------- */ /* ----------------------------- */ /* ==forms */ /* ----------------------------- */ form, fieldset { border: none; } /** * 1. Bugfix alignment */ input, button, select, label, .btn { vertical-align: middle; /* 1 */ font-family: inherit; } /** * 1. Prevents horizontal resizing */ textarea { resize: vertical; /* 1 */ font-family: inherit; } /* ----------------------------- */ /* ==main */ /* ----------------------------- */ /* ----------------------------- */ /* ==iefix */ /* ----------------------------- */ /* HasLayout for IE6/IE7 */ .ie67 { .clearfix, .line, .mod, .row, .col { zoom: 1; } /* Warning: .col needs a width on IE6/IE7 */ .col { display: inline; zoom: 1; } /** * Add a slash at the end of this comment * If you want to enable box-sizing for IE6/IE7 * with a polyfill * Source: https://github.com/Schepp/box-sizing-polyfill * * { behavior: url(/js/boxsizing.htc); } /**/ } /** * 1. Bugfixes for IE8 */ .ie8 img { width: auto; /* 1 */ } /* ----------------------------- */ /* ==print */ /* ----------------------------- */ /* 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; } }