mirror of
https://github.com/supabase/supabase.git
synced 2026-10-08 02:45:07 +03:00
## What kind of change does this PR introduce? Refactor. Follow-up to #49871. ## What is the current behavior? Branded (green) text still uses the `text-brand` classname while the colour comes from `--primary`. ## What is the new behavior? **Rename-only:** `text-brand` → `text-primary` across callsites and docs. Leftover `bg-brand` / `border-brand` alias to `brand-default`. No intentional colour changes in this PR. This better matches how we treat our green in other components and props, like `variant="primary"` for green buttons. ## To test On light mode: smoke-test that branded text still looks like #49871 (readable green, not the bright fill). - [Homepage](https://zone-www-dot-com-git-dnywh-depr-316-text-brand-de2380-supabase.vercel.app/): “Scale to millions” uses `text-primary` - [Docs homepage](https://docs-git-dnywh-depr-316-text-brand-to-primary-supabase.vercel.app/docs): branded links like “More on self-hosting” are still readable - [Typography docs](https://design-system-git-dnywh-depr-316-text-brand-to-primary-supabase.vercel.app/design-system/docs/typography): documents `text-primary` - [Colour usage](https://design-system-git-dnywh-depr-316-text-brand-to-primary-supabase.vercel.app/design-system/docs/color-usage): `text-primary` is visibly darker than `bg-brand-default` _on light mode_ - [Studio auth providers](https://studio-staging-git-dnywh-depr-316-text-brand-to-60fa6c-supabase.vercel.app/dashboard/project/_/auth/providers): enabled provider badge text readable; status dot stays bright green <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated branded text, link hover states, icons, badges, indicators, and highlighted content across the Design System, Docs, Studio, Learn, UI Library, and marketing experiences to use the primary theme color. * Updated syntax highlighting and table-of-contents styling for consistent primary-color presentation. * Refined brand color fallback behavior for bright fills and borders. * **Documentation** * Updated color-usage and typography guidance to recommend the primary text utility. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
901 lines
17 KiB
CSS
901 lines
17 KiB
CSS
@import 'config/tailwind.config.css';
|
|
|
|
@source '../_blog/*.mdx';
|
|
@source '../components/**/*.tsx';
|
|
@source '../data/**/*.tsx';
|
|
@source '../layouts/**/*.tsx';
|
|
@source '../lib/mdx/mdxComponents.tsx';
|
|
@source '../pages/**/*.{tsx,mdx}';
|
|
@source '../app/**/*.{tsx,ts,js}';
|
|
@source './../../../packages/ui/src/**/*.{tsx,ts,js}';
|
|
@source './../../../packages/ui-patterns/src/**/*.{tsx,ts,js}';
|
|
@source './../../../packages/marketing/src/**/*.{tsx,ts,js}';
|
|
|
|
@theme inline {
|
|
--font-sans:
|
|
var(--font-inter), Inter, Helvetica Neue, Helvetica, ui-sans-serif, system-ui, sans-serif;
|
|
--font-heading: var(--font-manrope, var(--font-sans));
|
|
--font-mono: var(--font-source-code-pro), 'Source Code Pro', ui-monospace, Menlo, monospace;
|
|
}
|
|
|
|
@utility section-container {
|
|
@apply w-full mx-auto max-w-7xl px-6 lg:px-12 xl:px-24;
|
|
}
|
|
|
|
/**
|
|
* Legal documents must paint the exact characters that are in their source text.
|
|
*
|
|
* Manrope is `--font-heading`, which the base layer below applies to h1-h6. Its
|
|
* GSUB `liga` feature -- the *standard* ligature feature, which every browser
|
|
* enables by default -- maps the glyph sequence `parenleft c parenright` to a
|
|
* composite glyph built from `copyright`. So an MDX heading written as
|
|
* `#### (c) Security.` is a literal ASCII `(c)` in the DOM but paints as a
|
|
* copyright sign: the substitution happens at glyph-shaping time, not in the
|
|
* text. The same feature also folds `--`, `->`, `<-`, `(>)` and `<3`.
|
|
*
|
|
* Body copy is unaffected because it uses Inter (`--font-sans`), whose Google
|
|
* Fonts latin subset carries no such ligature -- hence headings break while
|
|
* paragraphs on the same page render `(c)` and `6.1(a)(iv)` correctly.
|
|
*
|
|
* Disabling common ligatures keeps legal prose character-exact. Scoped to the
|
|
* legal document container rather than `.prose`, which is shared with the blog
|
|
* and marketing pages where these ligatures are wanted.
|
|
*/
|
|
@utility legal-prose {
|
|
font-variant-ligatures: no-common-ligatures;
|
|
}
|
|
|
|
@theme {
|
|
--color-purple-sos-100: hsl(293 80% 97%);
|
|
--color-purple-sos-200: hsl(293 85% 91%);
|
|
--color-purple-sos-300: hsl(293 90% 80%);
|
|
--color-purple-sos-400: hsl(293 95% 67%);
|
|
--color-purple-sos-500: hsl(293 100% 54%);
|
|
--color-purple-sos-600: hsl(293 100% 44%);
|
|
--color-purple-sos-700: hsl(293 100% 34%);
|
|
--color-purple-sos-800: hsl(293 95% 22%);
|
|
--color-purple-sos-900: hsl(293 90% 12%);
|
|
|
|
--animate-flash-code: flash-code 1s forwards;
|
|
--animate-flash-code-slow: flash-code 2s forwards;
|
|
--animate-spinner: spinner 1s both infinite;
|
|
--animate-marquee: marquee 35s linear infinite;
|
|
--animate-marquee-vertical: marquee-vertical 180s linear infinite both;
|
|
--animate-pulse-radar: pulse-radar 3s linear infinite;
|
|
--animate-slide-in: slideIn 250ms ease-in both;
|
|
|
|
--delay-1200: 1200ms;
|
|
--delay-1500: 1500ms;
|
|
|
|
/* font sizing and weights optimized for Inter */
|
|
--text-base: 0.9375rem;
|
|
--text-lg: 1rem;
|
|
--text-xl: 1.125rem;
|
|
--text-2xl: 1.375rem;
|
|
--text-3xl: 1.75rem;
|
|
--text-4xl: 2.125rem;
|
|
--text-5xl: 2.875rem;
|
|
--text-6xl: 3.625rem;
|
|
--text-7xl: 4.375rem;
|
|
--text-8xl: 5.875rem;
|
|
--text-9xl: 7.875rem;
|
|
--font-weight-normal: 450;
|
|
}
|
|
|
|
@keyframes flash-code {
|
|
0% {
|
|
background-color: rgba(63, 207, 142, 0.1);
|
|
}
|
|
100% {
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
@keyframes slideIn {
|
|
0% {
|
|
transform: translate3d(0, -100%, 0);
|
|
}
|
|
100% {
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
}
|
|
|
|
@keyframes spinner {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes marquee {
|
|
0% {
|
|
transform: translateX(0%);
|
|
}
|
|
100% {
|
|
transform: translateX(-100%);
|
|
}
|
|
}
|
|
|
|
@keyframes marquee-reverse {
|
|
0% {
|
|
transform: translateX(-100%);
|
|
}
|
|
100% {
|
|
transform: translateX(0%);
|
|
}
|
|
}
|
|
|
|
@keyframes marquee-vertical {
|
|
0% {
|
|
transform: translateY(0%);
|
|
}
|
|
100% {
|
|
transform: translateY(-100%);
|
|
}
|
|
}
|
|
|
|
@keyframes pulse-radar {
|
|
0% {
|
|
transform: scale(0);
|
|
opacity: 0;
|
|
}
|
|
50% {
|
|
opacity: 0.8;
|
|
}
|
|
100% {
|
|
transform: scale(100%);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
*,
|
|
::after,
|
|
::before,
|
|
::backdrop,
|
|
::file-selector-button {
|
|
border-color: var(--border-default, currentColor);
|
|
}
|
|
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6,
|
|
.h2,
|
|
.h3,
|
|
.h4,
|
|
.h5,
|
|
.h6 {
|
|
@apply font-heading font-semibold;
|
|
}
|
|
|
|
h1,
|
|
.h1 {
|
|
@apply font-heading font-medium tracking-normal;
|
|
}
|
|
}
|
|
|
|
@layer utilities {
|
|
.run {
|
|
animation-play-state: running;
|
|
}
|
|
.pause {
|
|
animation-play-state: paused;
|
|
}
|
|
}
|
|
|
|
@layer components {
|
|
.disable-blur {
|
|
image-rendering: -webkit-optimize-contrast;
|
|
}
|
|
}
|
|
|
|
html {
|
|
scroll-behavior: smooth !important;
|
|
font-weight: 450;
|
|
}
|
|
|
|
body {
|
|
@apply bg-default text-foreground;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
/*
|
|
* Typography
|
|
*/
|
|
.h1:not(.prose *):not(.overwrite),
|
|
.h2:not(.prose *):not(.overwrite),
|
|
.h3:not(.prose *):not(.overwrite),
|
|
.h4:not(.prose *):not(.overwrite),
|
|
.h5:not(.prose *):not(.overwrite),
|
|
.h6:not(.prose *):not(.overwrite) {
|
|
/* @apply text-foreground; */
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.h1:not(.prose *):not(.overwrite) {
|
|
@apply text-4xl;
|
|
}
|
|
|
|
.h2:not(.prose *):not(.overwrite) {
|
|
@apply text-4xl;
|
|
}
|
|
|
|
.h3:not(.prose *):not(.overwrite) {
|
|
@apply text-2xl;
|
|
}
|
|
|
|
.h4:not(.prose *):not(.overwrite) {
|
|
@apply text-xl;
|
|
}
|
|
|
|
.h5:not(.prose *):not(.overwrite) {
|
|
@apply text-xl;
|
|
}
|
|
|
|
h1:not(.overwrite),
|
|
h2:not(.overwrite),
|
|
h3:not(.overwrite),
|
|
h4:not(.overwrite),
|
|
h5:not(.overwrite),
|
|
h6:not(.overwrite) {
|
|
scroll-margin-top: 90px;
|
|
}
|
|
|
|
.h1:not(.prose *):not(.overwrite),
|
|
.h2:not(.prose *):not(.overwrite) {
|
|
line-height: 1.2 !important;
|
|
}
|
|
|
|
.label:not(.prose *):not(.overwrite) {
|
|
@apply text-xs font-mono uppercase text-foreground-lighter tracking-wider;
|
|
}
|
|
|
|
.heading-gradient {
|
|
@apply text-[#F4FFFA00] bg-clip-text bg-linear-to-b from-foreground to-foreground/70;
|
|
}
|
|
|
|
.heading-gradient-brand {
|
|
@apply text-[#3ECF8E00] bg-clip-text bg-linear-to-b from-brand-default to-brand-default/80;
|
|
}
|
|
|
|
.toc-animate {
|
|
@apply translate-x-1! text-primary!;
|
|
}
|
|
|
|
.prose-toc a {
|
|
transition: all 0.07s ease-in-out;
|
|
}
|
|
|
|
@media only screen and (max-width: 960px) {
|
|
.h1:not(.prose *):not(.overwrite) {
|
|
font-size: 2.2rem !important;
|
|
}
|
|
.h2:not(.prose *):not(.overwrite) {
|
|
font-size: 2rem !important;
|
|
}
|
|
}
|
|
|
|
@media only screen and (max-width: 720px) {
|
|
.h1:not(.prose *):not(.overwrite) {
|
|
font-size: 2rem !important;
|
|
}
|
|
.h2:not(.prose *):not(.overwrite) {
|
|
font-size: 1.8rem !important;
|
|
}
|
|
}
|
|
|
|
@media only screen and (max-width: 520px) {
|
|
.h1:not(.prose *):not(.overwrite) {
|
|
font-size: 1.8rem !important;
|
|
}
|
|
.h2:not(.prose *):not(.overwrite) {
|
|
font-size: 1.6rem !important;
|
|
}
|
|
}
|
|
|
|
.p:not(.prose *):not(.overwrite) {
|
|
@apply text-foreground-light;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.small:not(.prose *):not(.overwrite) {
|
|
@apply text-foreground-lighter text-xs;
|
|
}
|
|
|
|
.section--masked {
|
|
/* overflow: hidden; */
|
|
}
|
|
|
|
::selection {
|
|
background-color: #6ee7b7 !important;
|
|
color: #333 !important;
|
|
}
|
|
|
|
.section--bg-masked {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
/* overflow: visible; */
|
|
}
|
|
|
|
.section--bg {
|
|
@apply bg-background;
|
|
position: relative;
|
|
height: 100%;
|
|
width: 100%;
|
|
top: 0;
|
|
left: 0;
|
|
transform-origin: 100% 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.stroke-text {
|
|
-webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
|
|
-webkit-text-stroke-width: 1px;
|
|
-webkit-text-stroke-color: var(--background-selection);
|
|
}
|
|
|
|
.stroke-text.fill {
|
|
-webkit-text-fill-color: #1ae88f;
|
|
}
|
|
|
|
/* Database page */
|
|
|
|
.dashboard-tabs div[role='separator'] {
|
|
@apply border border-strong;
|
|
}
|
|
|
|
/* override position of tabs */
|
|
.dashboard-tabs > div > div {
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Auth page */
|
|
|
|
.dark .header--light {
|
|
display: none;
|
|
}
|
|
|
|
.header--dark {
|
|
display: none;
|
|
}
|
|
|
|
.dark .header--dark {
|
|
display: block;
|
|
}
|
|
|
|
table {
|
|
margin-top: 1em;
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
/*
|
|
* sets the image in @Next/Image components to respect the height of the content
|
|
*/
|
|
.next-image--dynamic-fill {
|
|
display: block;
|
|
width: 100%;
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
grid-column: 1 / -1;
|
|
}
|
|
.next-image--dynamic-fill.wide,
|
|
video.wide {
|
|
@apply sm:max-w-none -mx-2 w-[calc(100%+1rem)] md:-mx-4 md:w-[calc(100%+2rem)] lg:-mx-8 lg:w-[calc(100%+4rem)];
|
|
}
|
|
|
|
.next-image--dynamic-fill > span {
|
|
position: relative !important;
|
|
}
|
|
.next-image--dynamic-fill img {
|
|
object-fit: contain;
|
|
width: 100% !important;
|
|
position: relative !important;
|
|
height: unset !important;
|
|
}
|
|
|
|
.line-clamp {
|
|
display: -webkit-box;
|
|
margin: 0 auto;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
}
|
|
|
|
/**
|
|
animations
|
|
*/
|
|
|
|
.fade-in-up-2ms {
|
|
opacity: 0;
|
|
transform: translate3d(0, 10px, 0);
|
|
animation: fadeInUp 0.2s cubic-bezier(0.25, 0.25, 0, 1) both;
|
|
}
|
|
|
|
.fade-in-up-4ms {
|
|
opacity: 0;
|
|
transform: translate3d(0, 10px, 0);
|
|
animation: fadeInUp 0.4s cubic-bezier(0.25, 0.25, 0, 1) both;
|
|
}
|
|
|
|
.fade-in-2ms {
|
|
opacity: 0;
|
|
transform: translate3d(0, 10px, 0);
|
|
animation: fadeIn 0.2s cubic-bezier(0.25, 0.25, 0, 1) both;
|
|
}
|
|
|
|
.fade-in-4ms {
|
|
opacity: 0;
|
|
transform: translate3d(0, 10px, 0);
|
|
animation: fadeIn 0.4s cubic-bezier(0.25, 0.25, 0, 1) both;
|
|
}
|
|
|
|
@keyframes fadeInUp {
|
|
to {
|
|
opacity: 1;
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
/**
|
|
launch week
|
|
*/
|
|
|
|
.launch-week-timeline-border--approaching {
|
|
border-image: linear-gradient(to bottom, hsl(var(--brand-default)), var(--color-purple-700)) 1
|
|
100%;
|
|
}
|
|
|
|
.video-container {
|
|
@apply overflow-hidden rounded-xl border;
|
|
position: relative;
|
|
width: 100%;
|
|
padding-bottom: 56.25%;
|
|
}
|
|
|
|
.video-container.no-border {
|
|
@apply border-none!;
|
|
}
|
|
|
|
.video-container iframe {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
border: 0;
|
|
}
|
|
|
|
.all-unset {
|
|
all: unset;
|
|
}
|
|
|
|
.auth-container {
|
|
background: linear-gradient(270deg, #71fb8e, #acecbc);
|
|
background-size: 400% 400%;
|
|
|
|
-webkit-animation: AnimationName 14s ease infinite;
|
|
-moz-animation: AnimationName 14s ease infinite;
|
|
animation: AnimationName 14s ease infinite;
|
|
}
|
|
|
|
@-webkit-keyframes AnimationName {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
@-moz-keyframes AnimationName {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
@keyframes AnimationName {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
|
|
@property --rotate {
|
|
syntax: '<angle>';
|
|
initial-value: 132deg;
|
|
inherits: false;
|
|
}
|
|
|
|
:root {
|
|
--auth-ui-card-height: 50vh;
|
|
--lw-secondary-color: #8a8f98;
|
|
}
|
|
|
|
.glow-area {
|
|
width: 100%;
|
|
height: 100%;
|
|
position: absolute;
|
|
background-color: transparent;
|
|
z-index: -1;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.glow-area::after {
|
|
position: absolute;
|
|
content: '';
|
|
top: calc(var(--auth-ui-card-height) / 8);
|
|
left: 0;
|
|
right: 0;
|
|
z-index: -1;
|
|
height: 100%;
|
|
width: 100%;
|
|
margin: 0 auto;
|
|
transform: scale(0.75);
|
|
filter: blur(calc(var(--auth-ui-card-height) / 6));
|
|
background-image: linear-gradient(
|
|
var(--rotate),
|
|
hsl(var(--brand-default)),
|
|
#3c67e3 43%,
|
|
hsl(var(--brand-default))
|
|
);
|
|
opacity: 1;
|
|
transition: opacity 0.5s;
|
|
animation: spin 8s linear infinite;
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% {
|
|
--rotate: 0deg;
|
|
}
|
|
100% {
|
|
--rotate: 360deg;
|
|
}
|
|
}
|
|
|
|
@keyframes transformSpin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
/* recharts */
|
|
|
|
.recharts-surface {
|
|
overflow: visible;
|
|
}
|
|
|
|
/* Fix inline code block wrapping */
|
|
@media screen and (min-width: 769px) {
|
|
.short-inline-codeblock {
|
|
white-space: pre !important;
|
|
}
|
|
}
|
|
|
|
.gradient-container {
|
|
min-height: 360px;
|
|
position: relative;
|
|
max-width: 1600px;
|
|
margin: 0 auto;
|
|
left: 0;
|
|
right: 0;
|
|
overflow: hidden;
|
|
}
|
|
@media screen and (max-width: 769px) {
|
|
.gradient-container {
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
}
|
|
}
|
|
|
|
.gradient-mask {
|
|
z-index: -10;
|
|
position: absolute;
|
|
min-height: 100%;
|
|
width: 75%;
|
|
margin: 0 auto;
|
|
left: 0;
|
|
right: 0;
|
|
background: radial-gradient(
|
|
circle at 50% -35%,
|
|
rgba(57, 97, 125, 0.32) 0%,
|
|
rgba(57, 97, 125, 0.32) 5%,
|
|
rgba(0, 222, 209, 0.75) 8%,
|
|
var(--background-default) 65%,
|
|
var(--background-default) 100%
|
|
);
|
|
}
|
|
|
|
@media screen and (max-width: 769px) {
|
|
.gradient-mask {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
/* The bottom part below the stroke */
|
|
.gradient-mask--masked {
|
|
z-index: -10;
|
|
position: absolute;
|
|
min-height: 100%;
|
|
width: 100%;
|
|
margin: 0 auto;
|
|
left: 0;
|
|
right: 0;
|
|
background: radial-gradient(
|
|
circle at 50% -60%,
|
|
rgba(255, 255, 255, 0) 0%,
|
|
var(--background-default) 65%
|
|
);
|
|
}
|
|
|
|
@media screen and (max-width: 769px) {
|
|
.gradient-mask--masked {
|
|
background: radial-gradient(
|
|
circle at 50% -40%,
|
|
rgba(255, 255, 255, 0) 0%,
|
|
var(--background-default) 65%
|
|
);
|
|
}
|
|
}
|
|
|
|
/* The stroke on the circle */
|
|
.flair-mask-a {
|
|
position: absolute;
|
|
background-color: #375965;
|
|
top: 1px;
|
|
width: 180%;
|
|
left: -40%;
|
|
height: 500px;
|
|
-webkit-clip-path: ellipse(52% 135px at 50% 3px);
|
|
clip-path: ellipse(52% 213px at 50% -75px);
|
|
}
|
|
|
|
/* The inside of the circle */
|
|
.flair-mask-b {
|
|
position: absolute;
|
|
background-color: var(--background-default);
|
|
top: 0px;
|
|
width: 182%;
|
|
left: -41%;
|
|
|
|
height: 500px;
|
|
-webkit-clip-path: ellipse(52% 135px at 50% 3px);
|
|
clip-path: ellipse(52% 213px at 50% -75px);
|
|
}
|
|
|
|
@media only screen and (min-width: 600px) {
|
|
.flair-mask-a {
|
|
top: 1px;
|
|
margin: 0 auto;
|
|
width: 140%;
|
|
left: -20%;
|
|
right: 0;
|
|
}
|
|
.flair-mask-b {
|
|
top: 0px;
|
|
margin: 0 auto;
|
|
width: 142%;
|
|
left: -21%;
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
@media only screen and (min-width: 960px) {
|
|
.flair-mask-a {
|
|
top: 1px;
|
|
margin: 0 auto;
|
|
width: 120%;
|
|
left: -10%;
|
|
right: 0;
|
|
}
|
|
.flair-mask-b {
|
|
top: 0px;
|
|
margin: 0 auto;
|
|
width: 121%;
|
|
left: -10.5%;
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
.radial-mask {
|
|
-webkit-mask-image: linear-gradient(rgba(0, 0, 0, 1), transparent);
|
|
}
|
|
|
|
/* Text with a gradient background */
|
|
[class*='gradient-text-'] {
|
|
background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
}
|
|
|
|
[class*='gradient-text-']::selection {
|
|
background-color: hsl(var(--brand-default));
|
|
background-clip: unset;
|
|
-webkit-text-fill-color: white;
|
|
}
|
|
|
|
@layer utilities {
|
|
.gradient-text-brand-100 {
|
|
background-image: linear-gradient(
|
|
45deg,
|
|
hsl(var(--brand-500)) 0%,
|
|
hsl(var(--brand-default)) 100%
|
|
);
|
|
}
|
|
.gradient-text-brand-300 {
|
|
background-image: linear-gradient(
|
|
45deg,
|
|
hsl(var(--brand-500)) 0%,
|
|
hsl(var(--brand-default)) 100%
|
|
);
|
|
}
|
|
.gradient-text-100 {
|
|
background-image: -webkit-linear-gradient(45deg, #fff 0%, var(--color-green-1200) 100%);
|
|
}
|
|
|
|
.gradient-text-500 {
|
|
background-image: -webkit-linear-gradient(
|
|
45deg,
|
|
var(--foreground-lighter) 0%,
|
|
var(--foreground-default) 100%
|
|
);
|
|
}
|
|
|
|
.gradient-text-pink-500 {
|
|
@apply text-transparent bg-clip-text bg-linear-to-br from-[#c867ee] to-[#f6a4f3];
|
|
}
|
|
|
|
.gradient-text-purple-500 {
|
|
@apply text-transparent bg-clip-text bg-linear-to-br from-[#902DFB] to-[#D87BF5];
|
|
}
|
|
|
|
.gradient-text-purple-800 {
|
|
@apply text-transparent bg-clip-text bg-linear-to-br from-[#5900EA] to-[#A242E5];
|
|
}
|
|
|
|
.gradient-text-gold-500 {
|
|
background-image: -webkit-linear-gradient(45deg, #e4b641 100%, #f5bf0069 41%);
|
|
}
|
|
|
|
.radial-gradient-text-500 {
|
|
background: radial-gradient(45% 100% at 50% 50%, #fff 30%, hsla(0, 0%, 100%, 0.35) 100%);
|
|
}
|
|
.radial-gradient-text-600 {
|
|
background: radial-gradient(45% 100% at 50% 50%, #fff 30%, hsla(0, 0%, 100%, 0.6) 100%);
|
|
}
|
|
}
|
|
|
|
/* LW7 Tickets Slider */
|
|
.ticket-brick-swiper .swiper-slide {
|
|
width: 230px;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.ticket-brick-swiper .swiper-slide {
|
|
width: 450px;
|
|
}
|
|
}
|
|
|
|
.ticket-brick-swiper .swiper-wrapper,
|
|
.swiper-transition-linear .swiper-wrapper {
|
|
transition-timing-function: linear;
|
|
}
|
|
|
|
/* dat.GUI */
|
|
|
|
.dg.ac {
|
|
z-index: 9999 !important;
|
|
margin-top: 65px !important;
|
|
}
|
|
|
|
/* Zoomable image */
|
|
|
|
[data-rmiz-modal]:focus,
|
|
[data-rmiz-modal-overlay]:focus {
|
|
outline: none !important;
|
|
}
|
|
|
|
[data-rmiz-modal-overlay],
|
|
[data-rmiz-modal-img] {
|
|
transition-timing-function: cubic-bezier(0.24, 0.25, 0.05, 1) !important;
|
|
}
|
|
[data-rmiz-modal-overlay='visible'] {
|
|
@apply bg-background!;
|
|
opacity: 0.8;
|
|
}
|
|
[data-rmiz-modal-img] {
|
|
image-rendering: high-quality;
|
|
}
|
|
|
|
/* Loader dots */
|
|
|
|
.loader-dots div {
|
|
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
|
}
|
|
|
|
.loader-dots div:nth-child(1) {
|
|
left: 4px;
|
|
animation: loader-dots1 0.6s infinite;
|
|
}
|
|
|
|
.loader-dots div:nth-child(2) {
|
|
left: 4px;
|
|
animation: loader-dots2 0.6s infinite;
|
|
}
|
|
|
|
.loader-dots div:nth-child(3) {
|
|
left: 16px;
|
|
animation: loader-dots2 0.6s infinite;
|
|
}
|
|
|
|
.loader-dots div:nth-child(4) {
|
|
left: 28px;
|
|
animation: loader-dots3 0.6s infinite;
|
|
}
|
|
|
|
@keyframes loader-dots1 {
|
|
0% {
|
|
transform: scale(0);
|
|
}
|
|
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes loader-dots3 {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
|
|
100% {
|
|
transform: scale(0);
|
|
}
|
|
}
|
|
|
|
@keyframes loader-dots2 {
|
|
0% {
|
|
transform: translate(0, 0);
|
|
}
|
|
|
|
100% {
|
|
transform: translate(12px, 0);
|
|
}
|
|
}
|
|
|
|
.lw13-game-input {
|
|
visibility: none;
|
|
opacity: 0;
|
|
}
|
|
|
|
@media (hover: none) {
|
|
.lw13-game-input {
|
|
visibility: visible !important;
|
|
opacity: 1 !important;
|
|
}
|
|
}
|