@import url('https://fonts.googleapis.com/css2?family=${inter.variable}+${openSans.variable}:wght@400;500;600;700&display=swap'); @import "tailwindcss"; @import "./styles/masks.css"; @import "./styles/animations.css"; :root { /* @colorThemes/lightTheme/grayBlueAccent */ --background: #f5faff; --card: #f1f8ff; --foreground: #001122; --primary-cta: #15479c; --primary-cta-text: #f5faff; --secondary-cta: #ffffff; --secondary-cta-text: #001122; --accent: #a8cce8; --background-accent: #7ba3cf; /* @layout/border-radius/rounded */ --radius: 0.5rem; /* @layout/content-width/medium */ --width-content-width: clamp(40rem, 80vw, 100rem); /* @utilities/masks */ --vw-1_5: 1.5vw; --width-x-padding-mask-fade: 5vw; /* @layout/carousel */ --width-carousel-padding: calc((100vw - var(--width-content-width)) / 2 + 1px - var(--vw-1_5)); --width-carousel-padding-controls: calc((100vw - var(--width-content-width)) / 2 + 1px); --width-carousel-item-2: calc(var(--width-content-width) / 2 - var(--vw-1_5) / 2); --width-carousel-item-3: calc(var(--width-content-width) / 3 - var(--vw-1_5) / 3 * 2); --width-carousel-item-4: calc(var(--width-content-width) / 4 - var(--vw-1_5) / 4 * 3); /* @typography/text-sizing/medium */ --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); --text-xs: clamp(0.54rem, 0.72vw, 0.72rem); --text-sm: clamp(0.615rem, 0.82vw, 0.82rem); --text-base: clamp(0.69rem, 0.92vw, 0.92rem); --text-lg: clamp(0.75rem, 1vw, 1rem); --text-xl: clamp(0.825rem, 1.1vw, 1.1rem); --text-2xl: clamp(0.975rem, 1.3vw, 1.3rem); --text-3xl: clamp(1.2rem, 1.6vw, 1.6rem); --text-4xl: clamp(1.5rem, 2vw, 2rem); --text-5xl: clamp(2.025rem, 2.75vw, 2.75rem); --text-6xl: clamp(2.475rem, 3.3vw, 3.3rem); --text-7xl: clamp(3rem, 4vw, 4rem); --text-8xl: clamp(3.5rem, 4.5vw, 4.5rem); --text-9xl: clamp(5.25rem, 7vw, 7rem); } /* @typography/text-sizing/medium (mobile) */ @media (max-width: 768px) { :root { --text-2xs: 2.5vw; --text-xs: 2.75vw; --text-sm: 3vw; --text-base: 3.25vw; --text-lg: 3.5vw; --text-xl: 4.25vw; --text-2xl: 5vw; --text-3xl: 6vw; --text-4xl: 7vw; --text-5xl: 7.5vw; --text-6xl: 8.5vw; --text-7xl: 10vw; --text-8xl: 12vw; --text-9xl: 14vw; --width-content-width: 80vw; --width-carousel-padding: calc((100vw - var(--width-content-width)) / 2 + 1px - var(--vw-1_5)); --width-carousel-padding-controls: calc((100vw - var(--width-content-width)) / 2 + 1px); --width-carousel-item-2: var(--width-content-width); --width-carousel-item-3: var(--width-content-width); --width-carousel-item-4: var(--width-content-width); } } @theme inline { /* Colors */ --color-background: var(--background); --color-card: var(--card); --color-foreground: var(--foreground); --color-primary-cta: var(--primary-cta); --color-primary-cta-text: var(--primary-cta-text); --color-secondary-cta: var(--secondary-cta); --color-secondary-cta-text: var(--secondary-cta-text); --color-accent: var(--accent); --color-background-accent: var(--background-accent); /* Fonts */ --font-sans: '${inter.variable} ${openSans.variable}', sans-serif; --font-mono: monospace; /* Border Radius */ --radius: var(--radius); --radius-lg: var(--radius); --radius-md: calc(var(--radius) - 2px); --radius-sm: calc(var(--radius) - 4px); /* Width */ --width-content-width: var(--width-content-width); --width-carousel-padding: var(--width-carousel-padding); --width-carousel-padding-controls: var(--width-carousel-padding-controls); --width-carousel-item-2: var(--width-carousel-item-2); --width-carousel-item-3: var(--width-carousel-item-3); --width-carousel-item-4: var(--width-carousel-item-4); /* Typography */ --text-2xs: var(--text-2xs); --text-xs: var(--text-xs); --text-sm: var(--text-sm); --text-base: var(--text-base); --text-lg: var(--text-lg); --text-xl: var(--text-xl); --text-2xl: var(--text-2xl); --text-3xl: var(--text-3xl); --text-4xl: var(--text-4xl); --text-5xl: var(--text-5xl); --text-6xl: var(--text-6xl); --text-7xl: var(--text-7xl); --text-8xl: var(--text-8xl); --text-9xl: var(--text-9xl); } * { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 1) rgba(255, 255, 255, 0); } html { overscroll-behavior: none; overscroll-behavior-y: none; } body { margin: 0; background-color: var(--background); color: var(--foreground); font-family: '${inter.variable} ${openSans.variable}', sans-serif; position: relative; min-height: 100vh; overscroll-behavior: none; overscroll-behavior-y: none; } .app-container { position: relative; isolation: isolate; } .app-container::before { content: ""; position: fixed; inset: 0; z-index: -1; background: linear-gradient( 60deg, var(--background) 0%, var(--accent) 50%, var(--background) 100% ); background-size: 400% 400%; animation: moveGradient 15s ease infinite; } h1, h2, h3, h4, h5, h6 { font-family: '${inter.variable} ${openSans.variable}', sans-serif; } button { position: relative; overflow: hidden; } button::before { position: absolute; content: ''; top: 0; left: -75%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 100%); transform: skewX(-25deg); } button:hover::before { animation: shine 1s; } /* WEBILD_CARD_STYLE */ /* @cards/gradient-radial */ .card { background: radial-gradient(circle at center, color-mix(in srgb, var(--color-card) 100%, var(--color-accent) 20%) 0%, var(--color-card) 90%); } /* WEBILD_PRIMARY_BUTTON */ /* @primaryButtons/shadow */ .primary-button { background-image: linear-gradient(to right, var(--color-primary-cta) 0%, var(--color-accent) 50%, var(--color-primary-cta) 100%); background-size: 200% auto; transition: background-position 0.5s ease; box-shadow: 2.10837px 3.16256px 9.48767px color-mix(in srgb, var(--color-primary-cta) 40%, transparent); } .primary-button:hover { background-position: right center; } /* WEBILD_SECONDARY_BUTTON */ /* @secondaryButtons/glass */ .secondary-button { backdrop-filter: blur(8px); background: linear-gradient(to bottom right, color-mix(in srgb, var(--color-secondary-cta) 80%, transparent), var(--color-secondary-cta)); box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); border: 1px solid var(--color-secondary-cta); } .primary-button:active, .secondary-button:active { animation: button-pulse 0.2s ease-in-out; }