@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../mixins' as mx; @use '../config'; @include iro.props-namespace('heading') { @include iro.props-store(( --colors: ( --light: fn.global-color(--fg-hi), --strong: fn.global-color(--fg-lo), --bg: fn.global-color(--bg-hi), ), ), 'colors'); @include iro.bem-object(iro.props-namespace()) { @include mx.set-font(--headline); display: block; margin-top: fn.global-dim(--heading --margin-top); transform: translateX(-.06em); letter-spacing: normal; text-transform: none; & + & { margin-top: fn.global-dim(--heading --margin-top-sibling); } @include iro.bem-modifier('xxl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --900); } @include iro.bem-modifier('xl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --600); } @include iro.bem-modifier('lg') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --300); } @include iro.bem-modifier('md') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --150); } @include iro.bem-modifier('sm') { @include mx.set-font(--standard, ( --line-height: null, --size: fn.global-dim(--font-size --75), --weight: bold, --transform: uppercase, --spacing: 1px )); transform: none; color: fn.color(--strong); } @include iro.bem-modifier('xs') { @include mx.set-font(--standard, ( --line-height: null, --size: fn.global-dim(--font-size --50), --weight: 500, --transform: uppercase, --spacing: 1px )); transform: none; color: fn.color(--light); } @include iro.bem-elem('primary') { background-image: linear-gradient( to top, transparent .15em, fn.color(--bg) .15em, fn.color(--bg) .6em, transparent .6em ); } } }