/* ---------------------------------- */ /* ==Helpers */ /* ---------------------------------- */ /* Typo Helpers */ /* ------------- */ .u-bold { font-weight: $weight-bold; } .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; } .u-txt-wrap { word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } .u-txt-ellipsis { white-space: nowrap; text-overflow: ellipsis; } /* text and contents alignment */ .txtleft, .u-txt-left { text-align: left; } .txtright, .u-txt-right { text-align: right; } .txtcenter, .u-txt-center { text-align: center; } @if variable-exists(hyphens) and $hyphens==true { @media (max-width: ($small - 1)) { div, textarea, table, td, th, code, pre, samp { word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } } } /* blocks that need to be placed under floats */ .clear, .u-clear { clear: both; } /* blocks that must contain floats */ .clearfix, .u-clearfix { &::after { content: ""; display: table; clear: both; border-collapse: collapse; } } /* simple blocks alignment */ .left, .u-left { margin-right: auto; } .right, .u-right { margin-left: auto; } .center, .u-center { margin-left: auto; margin-right: auto; } /* Global Micro Layout */ /* ------------------- */ /* module, gains superpower "BFC" Block Formating Context */ .mod, .u-mod, .bfc, .u-bfc { overflow: hidden; } /* floating elements */ .fl, .u-fl { float: left; } img.fl, img.u-fl { margin-right: $spacer-small; } .fr, .u-fr { float: right; } img.fr, img.u-fr { margin-left: $spacer-small; } img.fl, img.fr, img.u-fl, img.u-fr { margin-bottom: $spacer-tiny; } /* inline-block */ .inbl, .u-inbl { display: inline-block; vertical-align: top; } /* 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 { 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, .js-disabled, [disabled], .is-disabled ~ label, [disabled] ~ label { opacity: 0.5; cursor: not-allowed !important; filter: grayscale(1); } ul { &.is-unstyled, &.unstyled { list-style: none; padding-left: 0; } } .color--inverse { color: $white; } /* Width Helpers */ /* ------------- */ /* blocks widths (percentage and pixels) */ $i: 100; @while $i > 0 { .w#{$i} { width: $i * 1%; } $i: $i - 5; } .w66 { width: calc(100% / 3 * 2); } .w33 { width: calc(100% / 3); } $i: 1000; .wauto { width: auto; } .w960p { width: 960px; } .mw960p { max-width: 960px; } .w1140p { width: 1140px; } .mw1140p { max-width: 1140px; } @while $i > 0 { .w#{$i}p { width: $i * 1px; } $i: $i - 50; } /* Spacing Helpers */ /* --------------- */ .man, .ma0 { margin: 0; } .pan, .pa0 { padding: 0; } .mas { margin: $spacer-small; } .mam { margin: $spacer-medium; } .mal { margin: $spacer-large; } .pas { padding: $spacer-small; } .pam { padding: $spacer-medium; } .pal { padding: $spacer-large; } .mtn, .mt0 { margin-top: 0; } .mts { margin-top: $spacer-small; } .mtm { margin-top: $spacer-medium; } .mtl { margin-top: $spacer-large; } .mrn, .mr0 { margin-right: 0; } .mrs { margin-right: $spacer-small; } .mrm { margin-right: $spacer-medium; } .mrl { margin-right: $spacer-large; } .mbn, .mb0 { margin-bottom: 0; } .mbs { margin-bottom: $spacer-small; } .mbm { margin-bottom: $spacer-medium; } .mbl { margin-bottom: $spacer-large; } .mln, .ml0 { margin-left: 0; } .mls { margin-left: $spacer-small; } .mlm { margin-left: $spacer-medium; } .mll { margin-left: $spacer-large; } .mauto { margin: auto; } .mtauto { margin-top: auto; } .mrauto { margin-right: auto; } .mbauto { margin-bottom: auto; } .mlauto { margin-left: auto; } .ptn, .pt0 { padding-top: 0; } .pts { padding-top: $spacer-small; } .ptm { padding-top: $spacer-medium; } .ptl { padding-top: $spacer-large; } .prn, .pr0 { padding-right: 0; } .prs { padding-right: $spacer-small; } .prm { padding-right: $spacer-medium; } .prl { padding-right: $spacer-large; } .pbn, .pb0 { padding-bottom: 0; } .pbs { padding-bottom: $spacer-small; } .pbm { padding-bottom: $spacer-medium; } .pbl { padding-bottom: $spacer-large; } .pln, .pl0 { padding-left: 0; } .pls { padding-left: $spacer-small; } .plm { padding-left: $spacer-medium; } .pll { padding-left: $spacer-large; }