@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../mixins' as mx; @include iro.props-namespace('heading') { @include iro.props-store(( --dims: ( --in-page-margin: ( --top: fn.global-dim(--size --500), --top-sibling: fn.global-dim(--size --325), --bottom: fn.global-dim(--size --150), ), ), ), 'dims'); @include iro.props-store(( --colors: ( --light: fn.global-color(--fg-hi), --strong: fn.global-color(--fg-lo), ), ), 'colors'); @include iro.bem-object(iro.props-namespace()) { @include mx.set-font(--headline); display: block; margin-top: fn.dim(--in-page-margin --top); margin-bottom: 0; & + & { margin-top: fn.dim(--in-page-margin --top-sibling); } @include iro.bem-modifier('xxl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --400); } @include iro.bem-modifier('xl') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --300); } @include iro.bem-modifier('lg') { color: fn.color(--strong); font-size: fn.global-dim(--font-size --200); } @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 --100), --weight: 500 )); 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: .5px )); color: fn.color(--light); } } }