@include namespace('section') { @include store(( --colors: ( --border: prop(--colors --obj-hi, $global: true), ), --dims: ( --banner-blur: .5rem, ) )); @include layout(namespace()) { position: relative; @include modifier('fullscreen') { box-sizing: border-box; min-height: 100%; margin-bottom: calc(-1 * #{prop(--dims --outer, $global: true)}); padding-bottom: prop(--dims --outer, $global: true); } @include modifier('no-head') { padding-top: prop(--dims --outer, $global: true); } @include element('head') { display: flex; position: sticky; z-index: 9000; top: 0; left: 0; flex-direction: row; justify-self: flex-start; font-size: 1 / 16 * 15em; &::after { content: ''; width: 100%; height: 100%; margin-top: -1px; margin-right: prop(--container --dims --pad-x, $global: true); margin-left: prop(--container --dims --pad-x, $global: true); border-top: 1px solid prop(--colors --border); } } @include element('banner') { position: absolute; z-index: -20; top: calc(-2 * #{prop(--dims --banner-blur)}); left: calc(-2 * #{prop(--dims --banner-blur)}); width: calc(100% + 4 * #{prop(--dims --banner-blur)}); height: 60rem; object-fit: cover; object-position: top center; filter: blur(#{prop(--dims --banner-blur)}); mask-image: iro-easing-gradient(linear, to bottom, rgba(#000, .25), ease, transparent); } } }