:host { --borderRadius: 1rem; --borderWidth: 2px; display: block; max-width: 25rem; padding-top: calc(1 * var(--borderWidth)); width: 100%; .card-container { border-radius: var(--borderRadius); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); &:after { animation: animatedborder 7s ease alternate infinite; background: linear-gradient(60deg, #5073b8, #1098ad, #07b39b, #6fba82); background-size: 300% 300%; border-radius: var(--borderRadius); content: ''; height: calc(100% + var(--borderWidth) * 2); left: calc(-1 * var(--borderWidth)); top: calc(-1 * var(--borderWidth)); position: absolute; width: calc(100% + var(--borderWidth) * 2); z-index: -1; @keyframes animatedborder { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } } .card-item { aspect-ratio: 1.586; background-color: #1d2124; border-radius: calc(var(--borderRadius) - var(--borderWidth)); color: rgba(var(--light-primary-text)); line-height: 1.2; button { color: rgba(var(--light-primary-text)); height: 1.5rem; } .heading { font-size: 13px; } .value { font-size: 18px; } } &:not(.premium) { &:after { opacity: 0; } .card-item { background-color: #ffffff; color: rgba(var(--dark-primary-text)); } } } }