@use "../../../styles/abstracts/functions" as fun; @use "../../../styles/abstracts/mixins" as mix; @use "../../../styles/abstracts/placeholders"; %typing-animation { --typing-animation: none; width: fit-content; position: relative; overflow: hidden; &::after { content: "|"; display: block; width: 100%; height: 100%; position: absolute; top: 0; right: 0; background: var(--color-bg); color: var(--color-primary-darker); font-weight: 400; text-align: left; visibility: hidden; transform: translateX(100%); transform-origin: right; animation: var(--typing-animation); :global { animation: var(--typing-animation); } } } .header { border-bottom: fun.convert-px(3) solid var(--color-border-light); } .brand { &__logo { --logo-size: #{clamp( fun.convert-px(95), calc(120px - 5vw), fun.convert-px(120) )}; animation: flip-logo 9s ease-in 0s 1; } &__title { font-size: var(--font-size-2xl); @extend %typing-animation; } &__baseline { color: var(--color-fg-light); font-size: var(--font-size-lg); font-weight: 600; @extend %typing-animation; } } .main { flex: 1; } .article { &--grid { @extend %grid; grid-auto-flow: column dense; align-items: baseline; } &--padding { padding-bottom: var(--spacing-lg); } } .footer { border-top: fun.convert-px(3) solid var(--color-border-light); } .back-to-top { &--hidden { opacity: 0; transform: translateY(calc(var(--button-height) + var(--spacing-md))); visibility: hidden; } &--visible { opacity: 1; transform: translateY(0); visibility: visible; } } .noscript { padding: var(--spacing-xs) var(--spacing-sm); position: fixed; top: 0; left: 0; right: 0; z-index: 10; background: var(--color-bg); border-bottom: fun.convert-px(3) solid var(--color-border); color: var(--color-primary-darker); font-size: var(--font-size-sm); font-weight: 600; text-align: center; } .noscript-spacing { width: 100%; height: fun.convert-px(75); @include mix.media("screen") { @include mix.dimensions("xs") { height: fun.convert-px(50); } } } @keyframes flip-logo { 0%, 90% { transform: rotateY(180deg); } 100% { transform: rotateY(0deg); } }