/* ----------------------------- */ /* ==layout and modules */ /* ----------------------------- */ /* module, gains superpower "BFC" Block Formating Context */ .#{$kna-namespace}mod, .#{$kna-namespace}bfc { overflow: hidden; } /* blocks that needs to be placed under floats */ .clear, .#{$kna-namespace}line, .#{$kna-namespace}row { clear: both; } /* blocks that must contain floats */ .clearfix, .#{$kna-namespace}line { &::after { content: ""; display: table; clear: both; border-collapse: collapse; } } /* simple blocks alignment */ .#{$kna-namespace}left { margin-right: auto; } .#{$kna-namespace}right { margin-left: auto; } .#{$kna-namespace}center { margin-left: auto; margin-right: auto; } /* text and contents alignment */ .#{$kna-namespace}txtleft { text-align: left; } .#{$kna-namespace}txtright { text-align: right; } .#{$kna-namespace}txtcenter { text-align: center; } /* floating elements */ .#{$kna-namespace}fl { float: left; } img.#{$kna-namespace}fl { margin-right: $small-value; } .#{$kna-namespace}fr { float: right; } img.#{$kna-namespace}fr { margin-left: $small-value; } img.#{$kna-namespace}fl, img.#{$kna-namespace}fr { margin-bottom: $tiny-value; } /* table layout */ .#{$kna-namespace}row { display: table; table-layout: fixed; width: 100%; } .#{$kna-namespace}row > *, .#{$kna-namespace}col { display: table-cell; vertical-align: top; } /* no table-cell for script tag when body is a .row */ body > script { display: none !important; } /* inline-block */ .#{$kna-namespace}inbl { display: inline-block; vertical-align: top; } /* flexbox layout http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html */ [class*="#{$kna-namespace}flex-container"] { display : flex; flex-wrap: wrap; } .#{$kna-namespace}flex-container-h { flex-direction: row; } .#{$kna-namespace}flex-container-v { flex-direction: column; } .#{$kna-namespace}flex-item-fluid { flex: 1; } .#{$kna-namespace}flex-item-first { order : -1; } .#{$kna-namespace}flex-item-medium { order : 0; } .#{$kna-namespace}flex-item-last { order : 1; } .#{$kna-namespace}flex-item-center { margin: auto; }