@include namespace('outer-button') { @include store(( --colors: ( --fg: prop(--colors --bg-hi, $global: true), --bg: prop(--colors --fg-lo, $global: true), --hover: ( --bg: prop(--colors --accent --color, $global: true), --fg: prop(--colors --bg-hi, $global: true), ), --inverted: ( --fg: prop(--colors --fg-lo, $global: true), --bg: prop(--colors --bg-hi, $global: true), ) ) )); @include component(namespace()) { display: flex; height: prop(--dims --outer, $global: true); transition: background-color .2s, color .2s; background-color: prop(--colors --bg); color: prop(--colors --fg); font-size: 1rem; font-weight: 450; text-decoration: none; @include modifier('scroll-top') { position: fixed; z-index: 9000; right: 0; bottom: 0; } @include element('icon') { display: flex; position: relative; flex: 0 0 auto; align-items: center; justify-content: center; width: prop(--dims --outer, $global: true); height: 100%; transition: background-color .2s, color .2s; } @include modifier('inverted') { background-color: prop(--colors --inverted --bg); color: prop(--colors --inverted --fg); } &:link, &:visited { &:hover { background-color: prop(--colors --hover --bg); color: prop(--colors --hover --fg); } } @include element('icon-symbol') { display: block; width: 1.5em; height: 1.5em; } @include element('content') { height: 100%; padding-right: prop(--dims --outer-spacing, $global: true); padding-left: prop(--dims --outer-spacing, $global: true); line-height: prop(--dims --outer, $global: true); white-space: nowrap; } } }