@use "sass/utilities/css-variables" as cv; @use "sass/utilities/mixins" as mx; @use "../utils"; $delay: 0.2s; .bd-home-intro { --scale: 1; align-items: stretch; display: flex; flex-direction: column; min-height: 100vh; overflow: hidden; position: relative; } .bd-home-intro-body { align-items: center; display: flex; flex-grow: 1; justify-content: center; padding: 5rem 2.5rem; text-align: center; } .bd-home-intro-content { align-items: stretch; display: flex; flex-direction: column; gap: 1.5rem; justify-content: center; margin: 0 auto; max-width: 35rem; perspective: 200px; position: relative; } .bd-home-title { @extend %anim-3d; animation-name: anim-slow-intro; color: hsl( cv.getVar("text-h"), cv.getVar("text-s"), cv.getVar("text-title-l") ); font-size: calc(var(--scale) * 4rem); font-weight: 800; line-height: 1.125; transform-origin: bottom center; } .bd-home-tagline { @extend %anim-3d; animation-delay: $delay; animation-name: anim-slow-intro; font-size: calc(var(--scale) * 1.25em); transform-origin: top center; } .bd-home-knowledge { --bd-width: 0.0625em; @extend %anim-3d; animation-delay: $delay * 2; animation-name: anim-slow-intro; align-self: center; background-color: cv.getVar("success-soft"); border: none; color: cv.getVar("success"); font-size: calc(var(--scale) * 1.25em); transform-origin: center; .icon { color: cv.getVar("success-base"); } } .bd-home-buttons { gap: calc(var(--scale) * 1.5rem); .button { @extend %anim-3d; animation-delay: $delay * 4; animation-name: anim-slow-intro; font-size: 1.25em; strong { font-weight: cv.getVar("weight-medium"); } &.is-primary { animation-delay: $delay * 3; // color: white; } } } @include mx.desktop { .bd-home-intro-content { // padding-bottom: 6rem; } .bd-home-buttons { .button { @include cv.register-vars( ( "button-padding-vertical": 0.8125em, ) ); flex-basis: 0; flex-grow: 1; } } } .bd-home-circles { left: 0; position: fixed; overflow: hidden; top: 0; height: 100vh; width: 100vw; } .bd-circles { --d: 1360px; height: var(--d); left: calc(calc(100% - var(--d)) / 2); position: absolute; top: calc(calc(100% - var(--d)) / 2); width: var(--d); } .bd-dot { // background-color: purple; border-radius: 9999px; height: 1.5rem; left: calc(50% - 0.75rem); position: absolute; top: calc(50% - 0.75rem); width: 1.5rem; .thing { // opacity: 0.5; left: 50%; position: absolute; top: 50%; transform: translate3d(-50%, -10%, 0); white-space: nowrap; } } .bd-circle { --h: 121; --s: 0%; --l: 90%; --a: 0.2; @extend %bd-animated; animation-name: anim-grow; animation-duration: 1s; border: 1px dashed cv.getVar("border"); // box-shadow: // 0 0 4em hsla(var(--h), var(--s), var(--l), var(--a)), // inset 0 0 4em hsla(var(--h), var(--s), var(--l), var(--a)); border-radius: 9999px; left: calc(calc(100% - var(--d)) / 2); height: var(--d); position: absolute; top: calc(calc(100% - var(--d)) / 2); width: var(--d); &.is-one { --d: 800px; } &.is-two { --h: 171; --d: 1080px; animation-delay: var(--circle-delay-b); } &.is-three { --h: 191; --d: 1360px; animation-delay: var(--circle-delay-c); } } @include mx.mobile { .bd-home-intro { --scale: 0.75; } .bd-circles { display: none; } } @include mx.tablet { .bd-home-features { display: none; } }