Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <div class="container max-w-7xl pt-5 pb-12 mb-12">
	<div class="gradient-line">
	</div>
	<div class="row">
		<div class="col">
			<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 124.8372 55.2489" class="logo">
				<style>
					.draw-path {
						--length: 100;
						stroke-dasharray: var(--length) var(--length);
						stroke-dashoffset: var(--path-from);
						filter: blur(10px);
						fill: none;
						animation: draw 1.5s infinite ease-in-out;
					}

					.u-path {
						--path-from: calc(var(--length) * 3px);
						--path-to: var(--length);
					}

					.seven-path {
						--path-from: calc(var(--length) * -3px);
						--path-to: calc(var(--length) * -1px);
						animation-delay: 0.4s;
					}

					@keyframes draw {
						from {
							stroke-dashoffset: var(--path-from);
						}

						to {
							stroke-dashoffset: var(--path-to);
							opacity: 0;
						}
					}
				</style>
				<defs>
					<linearGradient id="seven-gradient" gradientUnits="userSpaceOnUse" x1="23.5345" y1="27.9014" x2="121.9345" y2="27.9014" gradientTransform="matrix(1 0 0 -1 0 55.8028)">
						<stop offset="0" style="stop-color: #f0ebab" />
						<stop offset="0.4" style="stop-color: #f3b4ce" />
						<stop offset="1" style="stop-color: #96cfca" />
					</linearGradient>
					<clipPath id="clip-seven">
						<path d="M102.2345,2.9014v9.8h9.6v23.6l-65.3-33.3l-0.3-0.1h-22.7l32.4,16.3l66,33.7v-50H102.2345z" />
					</clipPath>
					<clipPath id="clip-u">
						<path d="M52.3345,38.5014c0,2.2091-1.7909,4-4,4h-31.6c-2.2091,0-4-1.7909-4-4v-35.6h-9.8v35.6c0,7.7,6.2,13.9,13.8,13.9h31.6c7.6,0,13.8-6.2,13.8-13.9v-8.1l-9.8-5V38.5014z" />
					</clipPath>
				</defs>

				<g fill="rgba(255,255,255,0.08)">
					<path d="M102.2345,2.9014v9.8h9.6v23.6l-65.3-33.3l-0.3-0.1h-22.7l32.4,16.3l66,33.7v-50H102.2345z" />
					<path d="M52.3345,38.5014c0,2.2091-1.7909,4-4,4h-31.6c-2.2091,0-4-1.7909-4-4v-35.6h-9.8v35.6c0,7.7,6.2,13.9,13.8,13.9h31.6c7.6,0,13.8-6.2,13.8-13.9v-8.1l-9.8-5V38.5014z" />
				</g>

				<path clip-path="url(#clip-seven)" class="draw-path seven-path" stroke="url(#seven-gradient)" stroke-width="11" stroke-miterlimit="10" d="M102.0318,7.8102h14.9001v36.7666L25.5799-1.9312" pathLength="100" />
				<path clip-path="url(#clip-u)" class="draw-path u-path" stroke="#fff" stroke-width="11" stroke-miterlimit="10" d="M7.8842,2.7939l0.0451,35.4694c0,5.0171,3.8335,9.0363,8.8506,9.0363h31.1442c5.0171,0,9.0843-4.0672,9.0843-9.0843V24.9046" pathLength="100" />
				<path clip-path="url(#clip-seven)" class="draw-path seven-path" stroke="url(#seven-gradient)" stroke-width="11" stroke-miterlimit="10" d="M102.0318,7.8102h14.9001v36.7666L25.5799-1.9312" pathLength="100" />
				<path clip-path="url(#clip-u)" class="draw-path u-path" stroke="#fff" stroke-width="11" stroke-miterlimit="10" d="M7.8842,2.7939l0.0451,35.4694c0,5.0171,3.8335,9.0363,8.8506,9.0363h31.1442c5.0171,0,9.0843-4.0672,9.0843-9.0843V24.9046" pathLength="100" />
				<path clip-path="url(#clip-seven)" class="draw-path seven-path" stroke="url(#seven-gradient)" stroke-width="11" stroke-miterlimit="10" d="M102.0318,7.8102h14.9001v36.7666L25.5799-1.9312" pathLength="100" />
				<path clip-path="url(#clip-u)" class="draw-path u-path" stroke="#fff" stroke-width="11" stroke-miterlimit="10" d="M7.8842,2.7939l0.0451,35.4694c0,5.0171,3.8335,9.0363,8.8506,9.0363h31.1442c5.0171,0,9.0843-4.0672,9.0843-9.0843V24.9046" pathLength="100" />
			</svg>
		</div>
	</div>
	<div class="row g-4 mt-3">
		<div class="col-lg-4">
			<div class="gradient-border-card">
				<div class="icon mb-3">
					<svg aria-labelledby="routes-icon-title" fill="none" height="30" role="img" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg">
						<title id="routes-icon-title">An icon of a globe</title>
						<defs>
							<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
								<stop stop-color="white" stop-opacity="0.2"></stop>
								<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="0.5" stop-color="white"></stop>
								<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="1" stop-color="white" stop-opacity="0"></stop>
							</linearGradient>
						</defs>
						<path d="M15 26.25C17.4937 26.2499 19.9168 25.4215 21.8888 23.895C23.8607 22.3685 25.2699 20.2304 25.895 17.8163M15 26.25C12.5063 26.2499 10.0832 25.4215 8.11121 23.895C6.13925 22.3685 4.73009 20.2304 4.105 17.8163M15 26.25C18.1062 26.25 20.625 21.2125 20.625 15C20.625 8.7875 18.1062 3.75 15 3.75M15 26.25C11.8937 26.25 9.375 21.2125 9.375 15C9.375 8.7875 11.8937 3.75 15 3.75M15 3.75C16.9953 3.74917 18.9549 4.2792 20.6777 5.28571C22.4006 6.29221 23.8246 7.73896 24.8037 9.4775M15 3.75C13.0047 3.74917 11.0451 4.2792 9.32226 5.28571C7.59942 6.29221 6.17538 7.73896 5.19625 9.4775M24.8037 9.4775C22.0821 11.8349 18.6007 13.1302 15 13.125C11.2525 13.125 7.825 11.75 5.19625 9.4775M24.8037 9.4775C25.7548 11.1625 26.2531 13.0651 26.25 15C26.25 15.9725 26.1262 16.9163 25.895 17.8163M25.895 17.8163C22.5615 19.6642 18.8115 20.631 15 20.625C11.0475 20.625 7.33375 19.6063 4.105 17.8163M4.105 17.8163C3.86843 16.8962 3.74915 15.95 3.75 15C3.75 12.9938 4.275 11.1088 5.19625 9.4775" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
					</svg>
				</div>
				<h2 class="gradient-text-animation">Lorem Ipsum</h2>
				<p class="mt-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
				<div class="shimmer" style="--delay: -6s"></div>
				<i aria-hidden="true"></i>
				<div class="glowing-wrapper glowing-wrapper-active mt-3">
					<div class="glowing-wrapper-animations">
						<div class="glowing-wrapper-glow"></div>
						<div class="glowing-wrapper-mask-wrapper">
							<div class="glowing-wrapper-mask"></div>
						</div>
					</div>
					<div class="glowing-wrapper-borders-masker">
						<div class="glowing-wrapper-borders"></div>
					</div>
					<a href="#" class="glowing-wrapper-button w-inline-block">
						<div class="text-white">Learn More</div>
					</a>
				</div>
			</div>
		</div>
		<div class="col-lg-4">
			<div class="gradient-border-card">
				<div class="icon mb-3">
					<svg aria-labelledby="middleware-icon-title" fill="none" height="28" role="img" viewBox="0 0 28 28" width="28" xmlns="http://www.w3.org/2000/svg">
						<title id="middleware-icon-title">An icon for Edge Middleware</title>
						<defs>
							<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
								<stop stop-color="white" stop-opacity="0.2"></stop>
								<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="0.5" stop-color="white"></stop>
								<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="1" stop-color="white" stop-opacity="0"></stop>
							</linearGradient>
						</defs>
						<path d="M18.5 11.0001L18.5 17.0001M26 8.00012V20.0001M11.75 14.0001L2 20.0001L2 8.00012L11.75 14.0001Z" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
					</svg>
				</div>
				<h2>Lorem Ipsum</h2>
				<p class="mt-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
				<div class="favorite-item mt-3">
					Add Favorite
					<span aria-hidden="true" style="height: 16px;">
						<div class="favorite-container">
							<svg data-testid="geist-icon" height="16" stroke-linejoin="round" viewBox="0 0 16 16" width="16" style="color: gray;">
								<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00001 0.433594L8.65845 1.64093L10.5908 5.18412L14.5577 5.92698L15.9094 6.18011L14.9646 7.17942L12.192 10.1121L12.7113 14.1144L12.8883 15.4782L11.6459 14.8884L8.00001 13.1577L4.35408 14.8884L3.11173 15.4782L3.28869 14.1144L3.80802 10.1121L1.03538 7.17942L0.0906067 6.18011L1.44233 5.92698L5.40922 5.18412L7.34156 1.64093L8.00001 0.433594ZM8.00001 3.56646L6.55565 6.21487L6.38519 6.52743L6.03525 6.59296L3.07014 7.14822L5.14259 9.34029L5.38718 9.59899L5.34137 9.95205L4.95318 12.9436L7.67838 11.65L8.00001 11.4973L8.32163 11.65L11.0468 12.9436L10.6586 9.95205L10.6128 9.59899L10.8574 9.34029L12.9299 7.14822L9.96476 6.59296L9.61482 6.52743L9.44436 6.21487L8.00001 3.56646Z" fill="currentColor"></path>
							</svg>
							<div class="sparkles-container">
								<div class="sparkle-container" style="--starting-position-x: 6px; --starting-position-y: 6px; --starting-scale: 0; --ending-position-x: 1px; --ending-position-y: 1px; --ending-scale: 1; --color: #ff4cff; --delay: 50ms; --duration: 180ms;"><svg fill="none" height="6" viewBox="0 0 6 6" width="6" xmlns="http://www.w3.org/2000/svg">
									<path d="M2.5 0.5V0H3.5V0.5C3.5 1.60457 4.39543 2.5 5.5 2.5H6V3V3.5H5.5C4.39543 3.5 3.5 4.39543 3.5 5.5V6H3H2.5V5.5C2.5 4.39543 1.60457 3.5 0.5 3.5H0V3V2.5H0.5C1.60457 2.5 2.5 1.60457 2.5 0.5Z" fill="currentColor"></path>
									</svg></div>
								<div class="sparkle-container" style="--starting-position-x: 13px; --starting-position-y: 6px; --starting-scale: 0; --ending-position-x: 16px; --ending-position-y: 0px; --ending-scale: 0.7; --color: #ff8b8b; --delay: 100ms; --duration: 260ms;"><svg fill="none" height="6" viewBox="0 0 6 6" width="6" xmlns="http://www.w3.org/2000/svg">
									<path d="M2.5 0.5V0H3.5V0.5C3.5 1.60457 4.39543 2.5 5.5 2.5H6V3V3.5H5.5C4.39543 3.5 3.5 4.39543 3.5 5.5V6H3H2.5V5.5C2.5 4.39543 1.60457 3.5 0.5 3.5H0V3V2.5H0.5C1.60457 2.5 2.5 1.60457 2.5 0.5Z" fill="currentColor"></path>
									</svg></div>
								<div class="sparkle-container" style="--starting-position-x: 2px; --starting-position-y: 13px; --starting-scale: 0; --ending-position-x: 0px; --ending-position-y: 13px; --ending-scale: 0.5; --color: #f4ff21; --delay: 120ms; --duration: 150ms;"><svg fill="none" height="6" viewBox="0 0 6 6" width="6" xmlns="http://www.w3.org/2000/svg">
									<path d="M2.5 0.5V0H3.5V0.5C3.5 1.60457 4.39543 2.5 5.5 2.5H6V3V3.5H5.5C4.39543 3.5 3.5 4.39543 3.5 5.5V6H3H2.5V5.5C2.5 4.39543 1.60457 3.5 0.5 3.5H0V3V2.5H0.5C1.60457 2.5 2.5 1.60457 2.5 0.5Z" fill="currentColor"></path>
									</svg></div>
								<div class="sparkle-container" style="--starting-position-x: 9px; --starting-position-y: 15px; --starting-scale: 0; --ending-position-x: 9px; --ending-position-y: 18px; --ending-scale: 0.7; --color: #46e5e5; --delay: 80ms; --duration: 200ms;"><svg fill="none" height="6" viewBox="0 0 6 6" width="6" xmlns="http://www.w3.org/2000/svg">
									<path d="M2.5 0.5V0H3.5V0.5C3.5 1.60457 4.39543 2.5 5.5 2.5H6V3V3.5H5.5C4.39543 3.5 3.5 4.39543 3.5 5.5V6H3H2.5V5.5C2.5 4.39543 1.60457 3.5 0.5 3.5H0V3V2.5H0.5C1.60457 2.5 2.5 1.60457 2.5 0.5Z" fill="currentColor"></path>
									</svg></div>
								<div class="sparkle-container" style="--starting-position-x: 15px; --starting-position-y: 12px; --starting-scale: 0; --ending-position-x: 18px; --ending-position-y: 13px; --ending-scale: 0.5; --color: #6f6fff; --delay: 0ms; --duration: 340ms;"><svg fill="none" height="6" viewBox="0 0 6 6" width="6" xmlns="http://www.w3.org/2000/svg">
									<path d="M2.5 0.5V0H3.5V0.5C3.5 1.60457 4.39543 2.5 5.5 2.5H6V3V3.5H5.5C4.39543 3.5 3.5 4.39543 3.5 5.5V6H3H2.5V5.5C2.5 4.39543 1.60457 3.5 0.5 3.5H0V3V2.5H0.5C1.60457 2.5 2.5 1.60457 2.5 0.5Z" fill="currentColor"></path>
									</svg></div>
							</div>
						</div>
					</span>
				</div>
				<div class="shimmer" style="--delay: -8s"></div>
			</div>
		</div>
		<div class="col-lg-4">
			<div class="gradient-border-card">
				<div class="icon mb-3">
					<svg aria-labelledby="observability-icon-title" fill="none" height="28" role="img" viewBox="0 0 28 28" width="28" xmlns="http://www.w3.org/2000/svg">
						<title id="observability-icon-title">An icon of a bar chart</title>
						<defs>
							<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
								<stop stop-color="white" stop-opacity="0.2"></stop>
								<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="0.5" stop-color="white"></stop>
								<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="1" stop-color="white" stop-opacity="0"></stop>
							</linearGradient>
						</defs>
						<path d="M8 17V20M12 14V20M16 11V20M20 8V20M6 25H22C22.7957 25 23.5587 24.6839 24.1213 24.1213C24.6839 23.5587 25 22.7957 25 22V6C25 5.20435 24.6839 4.44129 24.1213 3.87868C23.5587 3.31607 22.7957 3 22 3H6C5.20435 3 4.44129 3.31607 3.87868 3.87868C3.31607 4.44129 3 5.20435 3 6V22C3 22.7957 3.31607 23.5587 3.87868 24.1213C4.44129 24.6839 5.20435 25 6 25Z" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
					</svg>
				</div>
				<h2>Lorem Ipsum</h2>
				<p class="mt-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
				<button type="submit" class="mt-3">
					<span>
						<span class="highlight-bg"></span>
						<span class="button-text">
							<svg class="me-2" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" width="24">
								<path d="M16 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"></path>
								<circle cx="8.5" cy="7" r="4"></circle>
								<path d="M20 8v6"></path>
								<path d="M23 11h-6"></path>
							</svg>
							Collaborate with a Team
						</span>
					</span>
				</button>
				<div class="shimmer" style="--delay: -12.5s"></div>
			</div>
		</div>
		<div class="col-lg-6">
			<div class="gradient-border-card">
				<div class="icon mb-3">
					<svg aria-labelledby="ssr-icon-title" fill="none" height="12" role="img" viewBox="0 0 28 12" width="28" xmlns="http://www.w3.org/2000/svg">
						<title id="ssr-icon-title">An icon for Server-Side Rendering</title>
						<defs>
							<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
								<stop stop-color="white" stop-opacity="0.2"></stop>
								<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="0.5" stop-color="white"></stop>
								<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="1" stop-color="white" stop-opacity="0"></stop>
							</linearGradient>
						</defs>
						<path d="M4.32 11.648C3.47733 11.648 2.73067 11.4987 2.08 11.2C1.42933 10.9013 0.917333 10.464 0.544 9.888C0.181333 9.30133 0 8.592 0 7.76V7.36H1.712V7.76C1.712 8.54933 1.94667 9.14133 2.416 9.536C2.896 9.93067 3.53067 10.128 4.32 10.128C5.12 10.128 5.72267 9.96267 6.128 9.632C6.53333 9.29067 6.736 8.85333 6.736 8.32C6.736 7.968 6.64 7.68 6.448 7.456C6.256 7.232 5.984 7.056 5.632 6.928C5.28 6.78933 4.85867 6.66133 4.368 6.544L3.776 6.4C3.06133 6.22933 2.43733 6.02133 1.904 5.776C1.38133 5.52 0.976 5.184 0.688 4.768C0.4 4.352 0.256 3.81867 0.256 3.168C0.256 2.50667 0.416 1.94133 0.736 1.472C1.06667 1.00267 1.52 0.64 2.096 0.384C2.672 0.128 3.34933 0 4.128 0C4.90667 0 5.6 0.133334 6.208 0.400001C6.82667 0.666667 7.312 1.06133 7.664 1.584C8.016 2.10667 8.192 2.76267 8.192 3.552V4.128H6.48V3.552C6.48 3.072 6.37867 2.68267 6.176 2.384C5.984 2.08533 5.712 1.86667 5.36 1.728C5.008 1.58933 4.59733 1.52 4.128 1.52C3.44533 1.52 2.912 1.664 2.528 1.952C2.15467 2.22933 1.968 2.61867 1.968 3.12C1.968 3.46133 2.048 3.744 2.208 3.968C2.37867 4.18133 2.624 4.35733 2.944 4.496C3.264 4.63467 3.664 4.75733 4.144 4.864L4.736 5.008C5.46133 5.168 6.10133 5.376 6.656 5.632C7.21067 5.87733 7.648 6.21333 7.968 6.64C8.288 7.06667 8.448 7.616 8.448 8.288C8.448 8.96 8.27733 9.54667 7.936 10.048C7.60533 10.5493 7.13067 10.944 6.512 11.232C5.89333 11.5093 5.16267 11.648 4.32 11.648Z" fill="url(#icon-gradient-fill)"></path>
						<path d="M13.91 11.648C13.0673 11.648 12.3207 11.4987 11.67 11.2C11.0193 10.9013 10.5073 10.464 10.134 9.888C9.77133 9.30133 9.59 8.592 9.59 7.76V7.36H11.302V7.76C11.302 8.54933 11.5367 9.14133 12.006 9.536C12.486 9.93067 13.1207 10.128 13.91 10.128C14.71 10.128 15.3127 9.96267 15.718 9.632C16.1233 9.29067 16.326 8.85333 16.326 8.32C16.326 7.968 16.23 7.68 16.038 7.456C15.846 7.232 15.574 7.056 15.222 6.928C14.87 6.78933 14.4487 6.66133 13.958 6.544L13.366 6.4C12.6513 6.22933 12.0273 6.02133 11.494 5.776C10.9713 5.52 10.566 5.184 10.278 4.768C9.99 4.352 9.846 3.81867 9.846 3.168C9.846 2.50667 10.006 1.94133 10.326 1.472C10.6567 1.00267 11.11 0.64 11.686 0.384C12.262 0.128 12.9393 0 13.718 0C14.4967 0 15.19 0.133334 15.798 0.400001C16.4167 0.666667 16.902 1.06133 17.254 1.584C17.606 2.10667 17.782 2.76267 17.782 3.552V4.128H16.07V3.552C16.07 3.072 15.9687 2.68267 15.766 2.384C15.574 2.08533 15.302 1.86667 14.95 1.728C14.598 1.58933 14.1873 1.52 13.718 1.52C13.0353 1.52 12.502 1.664 12.118 1.952C11.7447 2.22933 11.558 2.61867 11.558 3.12C11.558 3.46133 11.638 3.744 11.798 3.968C11.9687 4.18133 12.214 4.35733 12.534 4.496C12.854 4.63467 13.254 4.75733 13.734 4.864L14.326 5.008C15.0513 5.168 15.6913 5.376 16.246 5.632C16.8007 5.87733 17.238 6.21333 17.558 6.64C17.878 7.06667 18.038 7.616 18.038 8.288C18.038 8.96 17.8673 9.54667 17.526 10.048C17.1953 10.5493 16.7207 10.944 16.102 11.232C15.4833 11.5093 14.7527 11.648 13.91 11.648Z" fill="url(#icon-gradient-fill)"></path>
						<path d="M19.692 11.424V0.224H24.396C25.0893 0.224 25.6973 0.346667 26.22 0.592C26.7533 0.826667 27.164 1.168 27.452 1.616C27.7507 2.064 27.9 2.59733 27.9 3.216V3.392C27.9 4.096 27.7293 4.66133 27.388 5.088C27.0573 5.504 26.652 5.79733 26.172 5.968V6.224C26.5773 6.24533 26.9027 6.384 27.148 6.64C27.3933 6.88533 27.516 7.24267 27.516 7.712V11.424H25.772V7.952C25.772 7.664 25.6973 7.43467 25.548 7.264C25.3987 7.09333 25.1587 7.008 24.828 7.008H21.42V11.424H19.692ZM21.42 5.44H24.204C24.8227 5.44 25.3027 5.28533 25.644 4.976C25.9853 4.656 26.156 4.224 26.156 3.68V3.552C26.156 3.008 25.9853 2.58133 25.644 2.272C25.3133 1.952 24.8333 1.792 24.204 1.792H21.42V5.44Z" fill="url(#icon-gradient-fill)"></path>
					</svg>
				</div>
				<h2>Lorem Ipsum</h2>
				<p class="mt-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
				<div class="shimmer" style="--delay: -4s"></div>
			</div>
		</div>
		<div class="col-lg-6">
			<div class="gradient-border-card">
				<div class="icon mb-3">
					<svg aria-labelledby="zero-icon-title" fill="none" height="28" role="img" viewBox="0 0 28 28" width="28" xmlns="http://www.w3.org/2000/svg">
						<title id="zero-icon-title">An icon showing a line through a circle</title>
						<defs>
							<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
								<stop stop-color="white" stop-opacity="0.2"></stop>
								<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="0.5" stop-color="white"></stop>
								<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
								<stop offset="1" stop-color="white" stop-opacity="0"></stop>
							</linearGradient>
						</defs>
						<path d="M3.56251 24.849L25.349 3.06248M26.1667 14C26.1667 20.4433 20.9433 25.6666 14.5 25.6666C8.05669 25.6666 2.83334 20.4433 2.83334 14C2.83334 7.55666 8.05669 2.33331 14.5 2.33331C20.9433 2.33331 26.1667 7.55666 26.1667 14Z" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
					</svg>
				</div>
				<h2>Lorem Ipsum</h2>
				<p class="mt-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
				<div class="shimmer" style="--delay: -10s"></div>
			</div>
		</div>
	</div>

	<div class="max-w-sm mx-auto grid gap-6 lg:grid-cols-3 items-start lg:max-w-none group mt-3" data-spotlight>
		<!-- Card 1 -->
		<div class="relative h-full bg-gray-800 rounded-xl p-px before:absolute before:w-80 before:h-80 before:-left-40 before:-top-40 before:bg-gray-400 before:rounded-full before:opacity-0 before:pointer-events-none before:transition-opacity before:duration-500 before:translate-x-[var(--mouse-x)] before:translate-y-[var(--mouse-y)] before:group-hover:opacity-100 before:z-10 before:blur-[100px] after:absolute after:w-96 after:h-96 after:-left-48 after:-top-48 after:bg-indigo-500 after:rounded-full after:opacity-0 after:pointer-events-none after:transition-opacity after:duration-500 after:translate-x-[var(--mouse-x)] after:translate-y-[var(--mouse-y)] after:hover:opacity-10 after:z-30 after:blur-[100px] overflow-hidden">
			<div class="relative h-full bg-gray-900 p-6 pb-8 rounded-[inherit] z-20 overflow-hidden">
				<!-- Radial gradient -->
				<div class="absolute bottom-0 translate-y-1/2 left-1/2 -translate-x-1/2 pointer-events-none -z-10 w-1/2 aspect-square" aria-hidden="true">
					<div class="absolute inset-0 translate-z-0 bg-gray-800 rounded-full blur-[80px]"></div>
				</div>
				<div class="flex flex-col h-full">
					<div class="icon mb-3">
						<svg aria-labelledby="middleware-icon-title" fill="none" height="28" role="img" viewBox="0 0 28 28" width="28" xmlns="http://www.w3.org/2000/svg">
							<title id="middleware-icon-title">
								An icon for Edge
								Middleware
							</title>
							<defs>
								<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
									<stop stop-color="white" stop-opacity="0.2"></stop>
									<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
									<stop offset="0.5" stop-color="white"></stop>
									<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
									<stop offset="1" stop-color="white" stop-opacity="0"></stop>
								</linearGradient>
							</defs>
							<path d="M18.5 11.0001L18.5 17.0001M26 8.00012V20.0001M11.75 14.0001L2 20.0001L2 8.00012L11.75 14.0001Z" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
						</svg>
					</div>
					<h2 class="text-white">
						"Spotlight effect"
					</h2>
					<p class="text-gray-400 mt-3">
						Lorem ipsum dolor sit amet,
						consectetur adipiscing elit, sed do
						eiusmod tempor incididunt ut labore
						et dolore magna aliqua.
					</p>
				</div>
			</div>
		</div>

		<!-- Card 2 -->
		<div class="relative h-full bg-gray-800 rounded-xl p-px before:absolute before:w-80 before:h-80 before:-left-40 before:-top-40 before:bg-gray-400 before:rounded-full before:opacity-0 before:pointer-events-none before:transition-opacity before:duration-500 before:translate-x-[var(--mouse-x)] before:translate-y-[var(--mouse-y)] before:group-hover:opacity-100 before:z-10 before:blur-[100px] after:absolute after:w-96 after:h-96 after:-left-48 after:-top-48 after:bg-indigo-500 after:rounded-full after:opacity-0 after:pointer-events-none after:transition-opacity after:duration-500 after:translate-x-[var(--mouse-x)] after:translate-y-[var(--mouse-y)] after:hover:opacity-10 after:z-30 after:blur-[100px] overflow-hidden">
			<div class="relative h-full bg-gray-900 p-6 pb-8 rounded-[inherit] z-20 overflow-hidden">
				<!-- Radial gradient -->
				<div class="absolute bottom-0 translate-y-1/2 left-1/2 -translate-x-1/2 pointer-events-none -z-10 w-1/2 aspect-square" aria-hidden="true">
					<div class="absolute inset-0 translate-z-0 bg-gray-800 rounded-full blur-[80px]"></div>
				</div>
				<div class="flex flex-col h-full">
					<div class="icon mb-3">
						<svg aria-labelledby="routes-icon-title" fill="none" height="30" role="img" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg">
							<title id="routes-icon-title">
								An icon of a globe
							</title>
							<defs>
								<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
									<stop stop-color="white" stop-opacity="0.2"></stop>
									<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
									<stop offset="0.5" stop-color="white"></stop>
									<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
									<stop offset="1" stop-color="white" stop-opacity="0"></stop>
								</linearGradient>
							</defs>
							<path d="M15 26.25C17.4937 26.2499 19.9168 25.4215 21.8888 23.895C23.8607 22.3685 25.2699 20.2304 25.895 17.8163M15 26.25C12.5063 26.2499 10.0832 25.4215 8.11121 23.895C6.13925 22.3685 4.73009 20.2304 4.105 17.8163M15 26.25C18.1062 26.25 20.625 21.2125 20.625 15C20.625 8.7875 18.1062 3.75 15 3.75M15 26.25C11.8937 26.25 9.375 21.2125 9.375 15C9.375 8.7875 11.8937 3.75 15 3.75M15 3.75C16.9953 3.74917 18.9549 4.2792 20.6777 5.28571C22.4006 6.29221 23.8246 7.73896 24.8037 9.4775M15 3.75C13.0047 3.74917 11.0451 4.2792 9.32226 5.28571C7.59942 6.29221 6.17538 7.73896 5.19625 9.4775M24.8037 9.4775C22.0821 11.8349 18.6007 13.1302 15 13.125C11.2525 13.125 7.825 11.75 5.19625 9.4775M24.8037 9.4775C25.7548 11.1625 26.2531 13.0651 26.25 15C26.25 15.9725 26.1262 16.9163 25.895 17.8163M25.895 17.8163C22.5615 19.6642 18.8115 20.631 15 20.625C11.0475 20.625 7.33375 19.6063 4.105 17.8163M4.105 17.8163C3.86843 16.8962 3.74915 15.95 3.75 15C3.75 12.9938 4.275 11.1088 5.19625 9.4775" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
						</svg>
					</div>
					<h2 class="text-white">
						"Spotlight effect"
					</h2>
					<p class="text-gray-400 mt-3">
						Lorem ipsum dolor sit amet,
						consectetur adipiscing elit, sed do
						eiusmod tempor incididunt ut labore
						et dolore magna aliqua.
					</p>
				</div>
			</div>
		</div>

		<!-- Card 3 -->
		<div class="relative h-full bg-gray-800 rounded-xl p-px before:absolute before:w-80 before:h-80 before:-left-40 before:-top-40 before:bg-gray-400 before:rounded-full before:opacity-0 before:pointer-events-none before:transition-opacity before:duration-500 before:translate-x-[var(--mouse-x)] before:translate-y-[var(--mouse-y)] before:group-hover:opacity-100 before:z-10 before:blur-[100px] after:absolute after:w-96 after:h-96 after:-left-48 after:-top-48 after:bg-indigo-500 after:rounded-full after:opacity-0 after:pointer-events-none after:transition-opacity after:duration-500 after:translate-x-[var(--mouse-x)] after:translate-y-[var(--mouse-y)] after:hover:opacity-10 after:z-30 after:blur-[100px] overflow-hidden">
			<div class="relative h-full bg-gray-900 p-6 pb-8 rounded-[inherit] z-20 overflow-hidden">
				<!-- Radial gradient -->
				<div class="absolute bottom-0 translate-y-1/2 left-1/2 -translate-x-1/2 pointer-events-none -z-10 w-1/2 aspect-square" aria-hidden="true">
					<div class="absolute inset-0 translate-z-0 bg-gray-800 rounded-full blur-[80px]"></div>
				</div>
				<div class="flex flex-col h-full">
					<div class="icon mb-3">
						<svg aria-labelledby="observability-icon-title" fill="none" height="28" role="img" viewBox="0 0 28 28" width="28" xmlns="http://www.w3.org/2000/svg">
							<title id="observability-icon-title">
								An icon of a bar chart
							</title>
							<defs>
								<linearGradient gradientUnits="userSpaceOnUse" id="icon-gradient-fill" x1="4" x2="40" y1="4" y2="24">
									<stop stop-color="white" stop-opacity="0.2"></stop>
									<stop offset="0" stop-color="white" stop-opacity="0.4"></stop>
									<stop offset="0.5" stop-color="white"></stop>
									<stop offset="0.75" stop-color="white" stop-opacity="0.4"></stop>
									<stop offset="1" stop-color="white" stop-opacity="0"></stop>
								</linearGradient>
							</defs>
							<path d="M8 17V20M12 14V20M16 11V20M20 8V20M6 25H22C22.7957 25 23.5587 24.6839 24.1213 24.1213C24.6839 23.5587 25 22.7957 25 22V6C25 5.20435 24.6839 4.44129 24.1213 3.87868C23.5587 3.31607 22.7957 3 22 3H6C5.20435 3 4.44129 3.31607 3.87868 3.87868C3.31607 4.44129 3 5.20435 3 6V22C3 22.7957 3.31607 23.5587 3.87868 24.1213C4.44129 24.6839 5.20435 25 6 25Z" stroke="url(#icon-gradient-fill)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
						</svg>
					</div>
					<h2 class="text-white">"Spotlight effect"</h2>
					<p class="text-gray-400 mt-3">
						Lorem ipsum dolor sit amet,
						consectetur adipiscing elit, sed do
						eiusmod tempor incididunt ut labore
						et dolore magna aliqua.
					</p>
				</div>
			</div>
		</div>
	</div>
	<div class="gradient-background__wrapper">
		<div class="gradient-background">
			<div class="gradient-background__shape gradient-background__shape--1"></div>
			<div class="gradient-background__shape gradient-background__shape--2"></div>
		</div>
		<div class="gradient-background__noise"></div>
	</div>
</div>

<section data-gtm-key="tesla-fixed-background-11" class="" id="tesla_fixed_background_11">
	<div class="dx-fixed-background" id="react-data-tesla_fixed_background_11" data-component-status="initialized">
		<section>
			<div class="dx-fixed-background__separator-container">
				<div class="tds-theme--replicant-separator  tds-theme--replicant-separator--reversed"></div>
			</div>
			<div class="dx-fixed-background__container">
				<div class="dx-fixed-background__media-wrapper">
					<picture class="tcl-react-image dx-fixed-background__media"><img src="https://res.cloudinary.com/du6mfjbbd/image/upload/v1701989004/1691530134-about-hero_xdbubk.jpg" class="dx-fixed-background__media-asset"></picture>
				</div>
				<article class="z-10 max-w-[60rem] backdrop-blur-sm bg-white/30 p-8 rounded-xl"><h3 class="text-4xl">An interesting way to do a slight "parallax" effect</h3>
					<p class="mt-3">Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.</p>
				</article>
			</div>
			<div class="dx-fixed-background__separator-container">
				<div class="tds-theme--replicant-separator"></div>
			</div>
		</section>
	</div>
</section>


<div class="relative pointer-events-none overflow-hidden pt-75 s:pt-250 will-change-transform h-[250px]"> <div class="absolute left-0 w-full z-2"><div class="sf-rings relative pt-[100%] media-fit z-2"><div class="sf-ring__wrap --1 absolute inset-0 z-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2828.43 2720.74" class="sf-ring --1"><path fill="none" stroke="#f203ff" stroke-width="2" d="M578.43 43.87c208.56-130.32 533 78.36 764.29 75.45 235.3-3 511.78-147.66 720.83-31.07 200 111.49 358 337.06 489.06 546.74s261.74 450.84 274.27 679.47c13.12 239-197.48 443.12-303.29 653.36-104 206.65-122.25 529.71-330.8 660s-507.56-50-738.86-47.08c-235.31 3-545.63 221.33-754.69 104.75-199.99-111.47-171.6-493.4-302.6-703.08S14.8 1625.09 2.25 1396.48c-13.11-239.05 78.79-484.87 184.61-695.1 104-206.66 182.96-527.18 391.57-657.51Z"></path></svg></div> <div class="sf-ring__wrap --2 absolute inset-0 z-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2758.36 2922.53" class="sf-ring --2"><path fill="none" stroke="#f945a2" stroke-width="2" d="M314.52 474.72c162.24-180.3 571.22-10.93 786.48-80.62 222.06-71.89 434.12-344.59 662.52-296.16 221.38 46.95 435.48 232.82 615.73 395.28s384.25 357.06 454.05 572.47c72 222.23-121.6 471.77-169.85 700.27-46.78 221.48 67.3 559.25-94.94 739.55s-531.15 36.39-746.38 106.09c-222.07 71.9-447.35 445.25-675.75 396.83-221.39-46.94-266.76-485.84-447.06-648.3s-496.24-202.2-566-417.6c-72-222.23-35.42-484.38 12.83-712.88 46.75-221.49 6.13-574.65 168.37-754.93Z" opacity=".25" transform="translate(-91.81 -91.22)"></path></svg></div> <div class="sf-ring__wrap --3 absolute inset-0 z-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2723.79 2841.29" class="sf-ring --3"><path fill="none" stroke="#a64eff" stroke-width="2" d="M2688.5 580.86c128.59 205.78-146.74 552.37-139 778.62 8 233.4 211.6 512.62 102.2 718.91-106 200-343.54 354.54-549.25 483.08s-448.83 271-675 278.64c-233.34 7.92-419.81-247.17-626.07-356.64-199.88-106.12-555.88-89.65-684.43-295.44s111.23-520.87 103.55-747.1c-8-233.46-304.71-553.13-195.32-759.46 106-200 540.21-122.45 745.93-251s330.86-421.43 557-429.09c233.39-7.91 475.17 99.68 681.39 209.15 200 106.11 550.43 164.54 679 370.33Z"></path></svg></div> <div class="sf-ring__wrap --4 absolute inset-0 z-2"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2700.65 3034.3" class="sf-ring --4"><path fill="none" stroke="#ff00fe" stroke-width="2" d="M1274.29 1.13c242.4-8.42 404.87 403.5 604.59 510 206 109.89 549.5 73.17 673.42 271.17 120.12 191.92 135.26 475 143.77 717.55s10.33 524.43-96.05 724.21c-109.74 206.11-423.73 240-621.57 364-191.75 120.1-355.33 436.71-597.73 445.13s-395.34-357-595.05-463.49c-206-109.89-631.07-12.81-755-210.79C-89.46 2167 194.59 1829.6 186.08 1587.05s-199.52-497.5-93.14-697.28C202.68 683.66 416.61 528 614.44 404.08 806.19 284 1031.88 9.55 1274.29 1.13Z"></path></svg></div></div></div></div>
              
            
!

CSS

              
                
body {
	background: #000;
	color: #fff;
	font-family: "Inter", sans-serif;
	position: relative;
}
h2 {
	font-size: 1.8rem!important;
}
@font-face {
	font-family: 'Inter';
	src: url('https://res.cloudinary.com/du6mfjbbd/raw/upload/v1696975586/wegxkv6mdriebvpvokwf.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
:root {
	--text-color: #a1a1a1;
	--accent-color: #111;
	--geist-foreground-rgb: 255, 255, 255;
	--border-radius: 12px;
}
.logo {
	max-width: 5rem;
}

/******************************/
.gradient-text-animation {
	--colorA: #D6009A;
	--colorB: #9750dd;
	cursor: default;
	position: relative;
	background-image: linear-gradient(120deg, var(--colorA) 0%, var(--colorB) 50%, var(--colorA) 100%);
	background-origin: padding-box;
	background-size: 200%;
	-webkit-box-decoration-break: clone;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: unset;
	animation-timeline: auto;
	animation-range-start: normal;
	animation-range-end: normal;
	overflow: visible;
	animation: 3s linear 0s infinite normal forwards running nextui-k-dAFEPd;
}
@keyframes nextui-k-dAFEPd {
	100% {
		background-position: -200% center
	}
}

/******************************/

.gradient-border-card {
	position: relative;
	padding: 40px;
	border-radius: var(--border-radius);
	flex: 1 1;
	transition: background .2s ease-in-out,box-shadow .2s ease-in-out;
	box-shadow: 0 0 0 1px transparent, 0 2px 4px transparent, 0 12px 24px transparent;
	cursor: pointer;
	height: 100%;
	z-index: 1;
	@keyframes shimmer {
		0% {
			opacity: 0
		}

		5% {
			opacity: 0;
			background-position: -50%
		}

		10% {
			opacity: .7
		}

		15% {
			opacity: 0;
			background-position: 150%
		}

		20% {
			opacity: 0
		}

		to {
			opacity: 0
		}
	}
	.shimmer {
		background: linear-gradient(112deg,transparent 30%,rgba(var(--geist-foreground-rgb),.1) 40%,rgba(var(--geist-foreground-rgb),.3) 50%,rgba(var(--geist-foreground-rgb),.1) 60%,transparent 80%);
		position: absolute;
		inset: 0;
		z-index: 20;
		pointer-events: none;
		border-radius: inherit;
		background-size: 200% auto;
		background-position: 0;
		animation: shimmer 18s cubic-bezier(.8,0,.05,1) infinite;
		animation-delay: var(--delay);
	}
	i {
		content: "";
		position: absolute;
		inset: -1px;
		padding: var(--border-size);

		--border-size: 1px;
		--padding: 1px;
		--border-bg: conic-gradient(from 180deg at 50% 50%,#e92a67 0deg,#a853ba 112.5deg,#2a8af6 228.75deg,rgba(42,138,246,0) 360deg);
		overflow: hidden;
		padding: calc(var(--padding) + var(--border-size));
		border-radius: var(--border-radius);
		display: inline-block;
		z-index: 0;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		perspective: 1000;
		transform: translateZ(0);

		-webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		mask-composite: exclude;
		z-index: -1;
		border-radius: calc(var(--border-radius) + var(--border-size));
		&:before {
			content: "";
			display: block;
			background: var(--border-bg);
			box-shadow: 0 0 40px 20px --var(--border-bg);
			width: calc(100% * 1.41421356237);
			padding-bottom: calc(100% * 1.41421356237);
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%,-50%);
			border-radius: 100%;
			z-index: -2;
			animation: landing_spin__XlUIM 5s linear infinite;
		}
	}
	@keyframes landing_spin__XlUIM {
		0% {
			transform: translate(-50%,-50%) rotate(1turn)
		}

		to {
			transform: translate(-50%,-50%) rotate(0)
		}
	}
	.icon {
		position: relative;
		display: inline-flex;
		padding: 0.75rem;
		border-radius: inherit;
	}
	p {
		color: var(--text-color);
	}
	&:before, .icon:before {
		content: "";
		position: absolute;
		inset: -1px;
		border-radius: inherit;
		padding: 1px;
		background: radial-gradient(75% 75% at 25% 15%,#fff 0,hsla(0,0%,100%,.3) 100%);
		-webkit-mask: linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
		mask: linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
		-webkit-mask-composite: xor;
		mask-composite: exclude;
		opacity: .5;
		pointer-events: none;
	}
	&:hover {
		background: var(--accent-color);
		box-shadow: 0 0 0 1px rgba(0,0,0,.03), 0 2px 4px rgba(0,0,0,.05), 0 12px 24px rgba(0,0,0,.05);
	}
}


/* Favorite Button
/*************************/

.favorite-item {
	// width: calc(100% + 16px);
	margin: 0 -8px;
	padding: 0 8px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

.favorite-container .sparkle-container {
	position: absolute;
	height: 6px;
	width: 6px;
	color: var(--color);
}

.favorite-container {
	margin-left: 6px;
}
.favorite-container > svg {
	vertical-align: top;
}

.favorite-container .sparkle-container svg {
	display: block;
	transition: transform var(--duration, 0.2s) ease-out var(--delay);
	transform: translate(var(--starting-position-x), var(--starting-position-y)) scale(var(--starting-scale));
}

.gradient-border-card:hover .favorite-container svg {
	transform: translate(var(--ending-position-x), var(--ending-position-y)) scale(var(--ending-scale)) !important;
	transition: transform 0.1s ease-out 0;
}

.favorite-container {
	position: relative;
}

.favorite-container .sparkles-container {
	height: 24px;
	width: 24px;
	display: block;
	position: absolute;
	top: -2px;
	left: -3px;
}


/* Gradient Animation Button
/******************************/
button {
	border: 0;
	position: relative;
	border-radius: 12px;
	color: #fff;
	background: #000;
	padding: 0 16px;
	box-shadow: 0 0 0 1px 0 0 0 1px rgba(255, 255, 255, 0.14);
	max-width: 100%;
	justify-content: center;
	align-items: center;
	transition-property: border-color, background, color, transform, box-shadow;
	transition-duration: .15s;
	transition-timing-function: ease;
	font-size: 16px;
	line-height: 50px;
	height: 50px;
	width: 100%;
	max-width: 250px;
	transition: 0.25s;
}

.highlight-bg {
	position: absolute;
	top: 1px;
	right: 1px;
	bottom: 1px;
	left: 1px;
	background: inherit;
	border-radius: 12px;
	background: linear-gradient(-90deg, #007cf0, #00dfd8, #ff0080, #007cf0);
	background-size: 400% 100%;
	border: none;
	padding: 0;
	margin: 0;
	animation: background-anim 8s ease-in-out infinite;
}

.button-text {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	// background: #000;
	border-radius: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.highlight-bg:after {
	content: "";
	position: absolute;
	background-size: inherit;
	background-image: inherit;
	animation: inherit;
	left: 0;
	right: 0;
	top: 2px;
	height: 100%;
	filter: blur(.5rem);
	transition: 0.25s;
}

@keyframes background-anim {
	50% {
		background-position: 140% 50%;
		transform: skew(-2deg);
	}
}

/*****************/

.gradient-background__wrapper {
	background: #141414;
	position: fixed;
	width: 100%;
	height: 100%;
	overflow: hidden;
	top: 0;
	left: 0;
	z-index: -1;
}

@media (max-width: 568px) {
	.gradient-background__wrapper {
		background: #FFFFFF
	}
}

.gradient-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-filter: blur(250px);
	filter: blur(250px);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}

@media (max-width: 568px) {
	.gradient-background {
		display: none
	}
}

.gradient-background__shape {
	mix-blend-mode: lighten;
	-webkit-animation-duration: 20s;
	animation-duration: 20s;
	position: absolute;
	border-radius: 100%;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: cubic-bezier(0.1, 0, 0.9, 1);
	animation-timing-function: cubic-bezier(0.1, 0, 0.9, 1)
}

.gradient-background__shape--1 {
	bottom: 0;
	left: 0;
	width: 700px;
	height: 700px;
	background: #4f4f4f;
	mix-blend-mode: lighten;
	-webkit-transform: translate(-30%, 40%);
	transform: translate(-30%, 40%);
	-webkit-animation-name: gradientShapeAnimation1;
	animation-name: gradientShapeAnimation1
}

.gradient-background__shape--2 {
	top: 0;
	right: 0;
	width: 600px;
	height: 600px;
	background: #010030;
	-webkit-transform: translate(20%, -40%);
	transform: translate(20%, -40%);
	-webkit-animation-name: gradientShapeAnimation2;
	animation-name: gradientShapeAnimation2
}


@keyframes gradientShapeAnimation1 {
	0% {
		-webkit-transform: translate(-30%, 40%) rotate(-20deg);
		transform: translate(-30%, 40%) rotate(-20deg)
	}

	25% {
		-webkit-transform: translate(0%, 20%) skew(-15deg, -15deg) rotate(80deg);
		transform: translate(0%, 20%) skew(-15deg, -15deg) rotate(80deg)
	}

	50% {
		-webkit-transform: translate(30%, -10%) rotate(180deg);
		transform: translate(30%, -10%) rotate(180deg)
	}

	75% {
		-webkit-transform: translate(-30%, 40%) skew(15deg, 15deg) rotate(240deg);
		transform: translate(-30%, 40%) skew(15deg, 15deg) rotate(240deg)
	}

	100% {
		-webkit-transform: translate(-30%, 40%) rotate(-20deg);
		transform: translate(-30%, 40%) rotate(-20deg)
	}
}

@keyframes gradientShapeAnimation2 {
	0% {
		-webkit-transform: translate(20%, -40%) rotate(-20deg);
		transform: translate(20%, -40%) rotate(-20deg)
	}

	20% {
		-webkit-transform: translate(0%, 0%) skew(-15deg, -15deg) rotate(80deg);
		transform: translate(0%, 0%) skew(-15deg, -15deg) rotate(80deg)
	}

	40% {
		-webkit-transform: translate(-40%, 50%) rotate(180deg);
		transform: translate(-40%, 50%) rotate(180deg)
	}

	60% {
		-webkit-transform: translate(-20%, -20%) skew(15deg, 15deg) rotate(80deg);
		transform: translate(-20%, -20%) skew(15deg, 15deg) rotate(80deg)
	}

	80% {
		-webkit-transform: translate(10%, -30%) rotate(180deg);
		transform: translate(10%, -30%) rotate(180deg)
	}

	100% {
		-webkit-transform: translate(20%, -40%) rotate(340deg);
		transform: translate(20%, -40%) rotate(340deg)
	}
}

.gradient-background__noise {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("https://res.cloudinary.com/du6mfjbbd/image/upload/v1701127786/qzt2rn0jkkdln3y1e3mp.png");
	background-size: 100px
}

@media (max-width: 568px) {
	.gradient-background__noise {
		display: none
	}
}

@media (prefers-reduced-motion) {
	.gradient-background__shape--1 {
		-webkit-animation-name: none;
		animation-name: none
	}

	.gradient-background__shape--2 {
		-webkit-animation-name: none;
		animation-name: none
	}
}

@-moz-document url-prefix() {
	.gradient-background__wrapper {
		background-image: url("https://res.cloudinary.com/du6mfjbbd/image/upload/v1701127843/gradient-background-c1d8cb3f0925910cfff2493c4442d4e2c1cb6b8a267903342574faee6f70c26c_zuhomc.png");
		background-size: cover
	}

	@media (max-width: 568px) {
		.gradient-background__wrapper {
			background: #FFFFFF
		}
	}

	.gradient-background,
	.gradient-background__noise {
		display: none
	}
}

@media all and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
		.gradient-background__wrapper {
			background-image: url("https://res.cloudinary.com/du6mfjbbd/image/upload/v1701127843/gradient-background-c1d8cb3f0925910cfff2493c4442d4e2c1cb6b8a267903342574faee6f70c26c_zuhomc.png");
			background-size: cover
		}
}

@media all and (-ms-high-contrast: none) and (max-width: 568px),
	(-ms-high-contrast: active) and (max-width: 568px) {
		.gradient-background__wrapper {
			background: #FFFFFF
		}
}

@media all and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {

		.gradient-background,
		.gradient-background__noise {
			display: none
		}
}


/*****************************/


.glowing-wrapper-button {
	z-index: 1;
	color: #fff;
	letter-spacing: -.01em;
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 62.5rem;
	padding: .7rem 1.5rem;
	font-size: .88rem;
	line-height: 1.42;
	text-decoration: none;
	position: relative;
	max-width: 100%;
	display: inline-block;
}

.glowing-wrapper {
	border-radius: 62.5rem;
	display: inline-block;
	position: relative;
	overflow: hidden
}

.glowing-wrapper.glowing-wrapper-active {
	background-color: #000
}

.glowing-wrapper-borders-masker {
	width: 100%;
	opacity: 0;
	border-radius: 62.5rem;
	padding: .11rem;
	line-height: 100%;
	transition: opacity 1s;
	position: absolute;
	top: 0;
	left: 0
}

.glowing-wrapper .button-text {
	z-index: 2;
	// color: transparent;
	// -webkit-text-fill-color: transparent;
	// background-image: linear-gradient(rgba(255, 255, 255, .8), #fff);
	// -webkit-background-clip: text;
	// background-clip: text;
	// font-weight: 400;
	color: #fff;
	position: relative
}

.glowing-wrapper-animations {
	width: 100%;
	opacity: 0;
	transition: opacity 1s;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}

.glowing-wrapper-mask {
	opacity: 1
}

.glowing-wrapper-glow {
	opacity: .12;
	filter: blur(8px)
}

.glowing-wrapper-borders {
	width: 100%;
	opacity: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}

.glowing-wrapper-mask-wrapper {
	opacity: 1
}

.glowing-wrapper-button:after {
	background: radial-gradient(85% 120% at 50% 120%, rgba(255, 255, 255, .24) 0%, rgba(255, 255, 255, 0) 100%);
	border-radius: 999px;
	content: "";
	height: calc(100% + 4px);
	left: -2px;
	opacity: 0;
	position: absolute;
	top: -2px;
	transition: 1s all;
	width: calc(100% + 4px)
}

.glowing-wrapper-button:hover:after {
	opacity: .7
}


.glowing-wrapper-active .glowing-wrapper-animations,
.glowing-wrapper-active .glowing-wrapper-borders-masker {
	opacity: 1
}

.glowing-wrapper-animations:before,
.glowing-wrapper-borders:before {
	content: "";
	float: left;
	padding-top: 100%
}

.glowing-wrapper-animations:after,
.glowing-wrapper-borders:after {
	clear: both;
	content: "";
	display: block
}

.glowing-wrapper-animations {
	pointer-events: none;
}

.glowing-wrapper-animations * {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}

.glowing-wrapper-borders,
.glowing-wrapper-glow,
.glowing-wrapper-mask {
	animation: borderTurn 2.5s infinite linear;
	background-image: conic-gradient(from 0 at 50% 50%, rgba(255, 255, 255, .5) 0deg, rgba(255, 255, 255, 0) 60deg, rgba(255, 255, 255, 0) 310deg, rgba(255, 255, 255, .5) 360deg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover
}

.glowing-wrapper-mask-wrapper {
	-webkit-mask: url("data:image/svg+xml,url('data:image/svg+xml,%253Csvg width='28' height='24' viewBox='0 0 28 24' fill='none' xmlns='http://www.w3.org/2000/svg'%253E%253Crect width='28' height='24' fill='black'/%253E%253C/svg%253E%250A');");
	mask: url("data:image/svg+xml,url('data:image/svg+xml,%253Csvg width='28' height='24' viewBox='0 0 28 24' fill='none' xmlns='http://www.w3.org/2000/svg'%253E%253Crect width='28' height='24' fill='black'/%253E%253C/svg%253E%250A');");
	mask-repeat: repeat;
	-webkit-mask-size: auto;
	mask-size: auto
}

.glowing-wrapper-borders {
	animation-name: borderTurnWithTranslate
}

.glowing-wrapper-borders-masker {
	content: "";
	inset: 0;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: xor;
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

@keyframes borderTurn {
	0% {
		transform: rotate(0)
	}

	to {
		transform: rotate(360deg)
	}
}

@keyframes borderTurnWithTranslate {
	0% {
		transform: translate(-50%, -50%) rotate(0)
	}

	to {
		transform: translate(-50%, -50%) rotate(360deg)
	}
}

.close-button {
	background: transparent;
	border-radius: 50%;
	animation: animate 3s linear infinite;
}

@keyframes animate {
	0% {
		box-shadow: 0 0 0 0 rgba(48, 0, 117, .7), 0 0 0 0 rgba(48, 0, 117, .7);
	}

	40% {
		box-shadow: 0 0 0 20px rgba(48, 0, 117, 0), 0 0 0 0 rgba(48, 0, 117, .7);
	}

	80% {
		box-shadow: 0 0 0 20px rgba(48, 0, 117, 0), 0 0 0 30px rgba(48, 0, 117, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(48, 0, 117, 0), 0 0 0 30px rgba(48, 0, 117, 0);
	}
}

/****************/

@keyframes hueRotate {
	0% {
		filter: hue-rotate(0) blur(30px)
	}

	100% {
		filter: hue-rotate(360deg) blur(30px)
	}
}
.gradient-line:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -75px;
	height: 75px;
	filter: blur(30px);
	-webkit-filter: blur(30px);
	background-image: conic-gradient(from 180deg at 50% 100%,transparent 0,transparent 27%,#ff3998 27%,#d764ff 36.04%,#00b5ff 58.23%,#0fd 63%,#54fa43 73%,transparent 73%,transparent 100%);
	animation: hueRotate 2.5s linear infinite;
}

/**************************/

.sf__mask {
	on: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat
}

.sf-social-item:before {
	background-color: hsla(0,0%,100%,.075);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform .5s cubic-bezier(.19,1,.22,1);
	width: 100%
}

.sf-social-item:hover:before {
	transform: scaleY(1)
}

.sf-social-item:hover .sf-social-item__icon {
	animation: socialicon .75s cubic-bezier(.19,1,.22,1) forwards
}

.sf-purple-mark {
	animation: shape 20s linear infinite;
	height: 5.3rem;
	width: 5.3rem
}

.sf-purple-mark.--2 {
	animation-direction: reverse
}

.sf-ring {
	border: 0;
	outline: 0
}

// .sf-rings:before {
// 	--theme: #ff00fe;
// 	background: radial-gradient(circle at center,#ff00fe 30%,rgba(107,0,255,.5) 50%,transparent 70%);
// 	background: radial-gradient(circle at center,var(--theme) 30%,rgba(107,0,255,.5) 50%,transparent 70%);
// 	content: "";
// 	height: 200%;
// 	left: -50%;
// 	position: absolute;
// 	top: -10rem;
// 	width: 200%;
// 	z-index: -1
// }

.sf-ring.--1,.sf-ring.--2 {
	animation: shape 100s linear infinite
}

.sf-ring.--2 {
	animation-direction: reverse
}

.sf-ring.--3,.sf-ring.--4 {
	animation: shape 100s linear infinite
}

.sf-ring.--4 {
	animation-direction: reverse
}

@keyframes socialicon {
	0% {
		opacity: 1;
		transform: translate(0)
	}

	25% {
		opacity: 0;
		transform: translate(0)
	}

	50% {
		opacity: 0;
		transform: translate(-100%,100%)
	}

	to {
		opacity: 1;
		transform: translate(0)
	}
}

.nl input[data-v-5a04fd2e] {
	border: 1px solid #ff00fe
}

@media (min-width: 650px) {
	.nl input[data-v-5a04fd2e] {
		border-right:0
	}
}

@keyframes shape {
	0% {
		transform: rotate(0)
	}

	to {
		transform: rotate(1turn)
	}
}

/****************/

.spacer {
	padding-top: 300px;
}
.tds-layout.dx-fixed-background__layout {
	-webkit-padding-end: 10px;
	-webkit-padding-start: 10px;
	grid-template-areas: "main main";
	grid-template-columns: repeat(2,1fr);
	padding-inline-end: 10px;
	padding-inline-start: 10px;
}
.dx-fixed-background {
	--dx-fixed-bg-section-height: 200vh;
}
.dx-fixed-background__container {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: var(--dx-fixed-bg-section-height);
	justify-content: center;
	overflow: clip;
	position: relative;
}
.dx-fixed-background__media {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100vh;
	margin-top: -100vh;
	overflow: hidden;
	position: sticky;
	top: 0;
}
.dx-fixed-background__media-asset {
	height: 100vh;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}
.tds-theme--replicant-v2 [class*=tds-clip-] {
	--clip-size: 20px;
	--top-left-normal: 0 0;
	--top-left-clip: 0 var(--clip-size),var(--clip-size) 0;
	--top-right-normal: 100% 0;
	--top-right-clip: calc(100% - var(--clip-size)) 0,100% var(--clip-size);
	--bottom-right-normal: 100% 100%;
	--bottom-right-clip: 100% calc(100% - var(--clip-size)),calc(100% - var(--clip-size)) 100%;
	--bottom-left-normal: 0 100%;
	--bottom-left-clip: var(--clip-size) 100%,0 calc(100% - var(--clip-size));
	--clip: polygon(var(--top-left,var(--top-left-normal)),var(--top-right,var(--top-right-normal)),var(--bottom-right,var(--bottom-right-normal)),var(--bottom-left,var(--bottom-left-normal)));
	-webkit-clip-path: var(--clip);
	clip-path: var(--clip);
}
.tds-theme--replicant-opaque-bg {
	-webkit-backdrop-filter: blur(var(--tds-blur--small));
	backdrop-filter: blur(var(--tds-blur--small));
	background: none;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}.dx-fixed-background {
	--dx-fixed-bg-section-height: 200vh;
}
.dx-fixed-background__media-wrapper {
	height: var(--dx-fixed-bg-section-height);
	inset-inline-start: 0;
	position: absolute;
	top: 0;
	width: 100%;
	transform: scale(1);
	border-radius: 0;
}
.dx-fixed-background .dx-fixed-wrapper {
	padding: 24px;
	background: #fff;
	position: relative;
}

/****************************/


              
            
!

JS

              
                // Just a collection of modern UI effects. 
// I like to keep these kind of things "handy" (in codepen) to show clients/employers what I'm talking about when I say things like "gradient animation"

// If I ever get around to it, I'll clean this all up (lots of extra
// unecessary markup + CSS). For now,
// I'm just using Codepen as my personal "effect holder" :)

// Inspiration: https://portal.griflan.com/
// Inspiration: https://github.com/cruip/cruip-tutorials/tree/main/spotlight-effect

// Cards spotlight
class Spotlight {
	constructor(containerElement) {
		this.container = containerElement;
		this.cards = Array.from(this.container.children);
		this.mouse = {
			x: 0,
			y: 0,
		};
		this.containerSize = {
			w: 0,
			h: 0,
		};
		this.initContainer = this.initContainer.bind(this);
		this.onMouseMove = this.onMouseMove.bind(this);
		this.init();
	}

	initContainer() {
		this.containerSize.w = this.container.offsetWidth;
		this.containerSize.h = this.container.offsetHeight;
	}

	onMouseMove(event) {
		const { clientX, clientY } = event;
		const rect = this.container.getBoundingClientRect();
		const { w, h } = this.containerSize;
		const x = clientX - rect.left;
		const y = clientY - rect.top;
		const inside = x < w && x > 0 && y < h && y > 0;
		if (inside) {
			this.mouse.x = x;
			this.mouse.y = y;
			this.cards.forEach((card) => {
				const cardX = -(card.getBoundingClientRect().left - rect.left) + this.mouse.x;
				const cardY = -(card.getBoundingClientRect().top - rect.top) + this.mouse.y;
				card.style.setProperty('--mouse-x', `${cardX}px`);
				card.style.setProperty('--mouse-y', `${cardY}px`);
			});
		}
	}

	init() {
		this.initContainer();
		window.addEventListener('resize', this.initContainer);
		window.addEventListener('mousemove', this.onMouseMove);
	}
}

// Init Spotlight
const spotlights = document.querySelectorAll('[data-spotlight]');
spotlights.forEach((spotlight) => {
	new Spotlight(spotlight);
});

// GSAP ("parallax section reveal
document.addEventListener('DOMContentLoaded', function () {
	gsap.registerPlugin(ScrollTrigger);

	gsap.from(".dx-fixed-background__media-wrapper", {
		scale: 0.55,
		scrollTrigger: {
			trigger: ".dx-fixed-background__media-wrapper",
			start: "top bottom", 
			end: "center 75%", 
			scrub: true
		}
	});
	gsap.from(".dx-fixed-background__media", {
		borderRadius: "300px",
		scrollTrigger: {
			trigger: ".dx-fixed-background__media-wrapper",
			start: "top bottom", // Same start as above
			end: "center 75%", // Same end point as above
			scrub: true
		}
	});
});
              
            
!
999px

Console