@use "sass/utilities/css-variables" as cv; $gap: 2rem; $width: 20rem; .bd-features { --gap: #{$gap}; --width: #{$width}; align-items: center; background-image: linear-gradient( 0deg, hsla( var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-l), 1 ) 0%, hsla( var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-l), 0 ) 100% ); padding: var(--gap); position: relative; container-type: inline-size; container-name: home-features; } .bd-features-grid { display: grid; gap: var(--gap); grid-template-columns: 1fr; justify-content: stretch; justify-items: stretch; } @container home-features (min-width: #{(2 * $width + 1 * $gap)}) { .bd-features-grid { grid-template-columns: repeat(2, 1fr); } } @container home-features (min-width: #{(4 * $width + 3 * $gap)}) { .bd-features-grid { grid-template-columns: repeat(4, 1fr); } } @media (min-width: #{(4 * $width + 10 * $gap)}) { .bd-features { padding: calc(2 * var(--gap)); } } .bd-feature { --h: 348; --s: 86%; --l: 61%; --a: 0.1; --bg: var(--grad-red); --bd-width: 0.125em; --radius: 0.75em; --p: 1em; --icon: #{cv.getVar("danger")}; background: var(--bg); border-radius: calc(var(--bd-width) + var(--radius)); box-shadow: 0px 0.5em 1em 0px hsla(var(--h), var(--s), var(--l), var(--a)), 0px 1em 2em 0px hsla(var(--h), var(--s), var(--l), var(--a)); padding: var(--bd-width); transition-duration: cv.getVar("duration"); transition-property: box-shadow, transform; &:hover { --a: 0.05; box-shadow: 0px 1em 2em 0px hsla(var(--h), var(--s), var(--l), var(--a)), 0px 2em 4em 0px hsla(var(--h), var(--s), var(--l), var(--a)); transform: translateY(-1em); } &.is-modern { --h: 220; --bg: var(--grad-blue); --icon: #{cv.getVar("info-50")}; } &.is-easy { --h: 160; --bg: var(--grad-green); --icon: #{cv.getVar("success")}; } &.is-free { --h: 348; --s: 6%; --bg: var(--grad-grey); --icon: #{cv.getVar("text")}; } } .bd-feature-body { align-items: center; background-color: cv.getVar("scheme-main"); border-radius: var(--radius); display: grid; column-gap: var(--p); grid-template-columns: auto 1fr; padding: var(--p) calc(var(--p) * 1.25); .icon { color: var(--icon); grid-row: 1 / span 2; } } .bd-feature-title { color: cv.getVar("text-strong"); font-size: 1.25em; font-weight: cv.getVar("weight-semibold"); } .bd-feature-subtitle { color: cv.getVar("text-weak"); white-space: nowrap; }