212 lines
5.5 KiB
CSS
212 lines
5.5 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root {
|
|
--background: 0 0% 100%;
|
|
--foreground: 222.2 84% 4.9%;
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 222.2 84% 4.9%;
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222.2 84% 4.9%;
|
|
--primary: 222.2 47.4% 11.2%;
|
|
--primary-foreground: 210 40% 98%;
|
|
--secondary: 210 40% 96%;
|
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
--muted: 210 40% 96%;
|
|
--muted-foreground: 215.4 16.3% 46.9%;
|
|
--accent: 210 40% 96%;
|
|
--accent-foreground: 222.2 47.4% 11.2%;
|
|
--destructive: 0 84.2% 60.2%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
--border: 214.3 31.8% 91.4%;
|
|
--input: 214.3 31.8% 91.4%;
|
|
--ring: 222.2 84% 4.9%;
|
|
--radius: 0.5rem;
|
|
--chart-1: 12 76% 61%;
|
|
--chart-2: 173 58% 39%;
|
|
--chart-3: 197 37% 24%;
|
|
--chart-4: 43 74% 66%;
|
|
--chart-5: 27 87% 67%;
|
|
|
|
--font-oswald: var(--font-oswald);
|
|
--font-permanent-marker: var(--font-permanent-marker);
|
|
--font-playfair-display: var(--font-playfair-display);
|
|
--font-roboto: var(--font-roboto);
|
|
}
|
|
|
|
.dark {
|
|
--background: 222.2 84% 4.9%;
|
|
--foreground: 210 40% 98%;
|
|
--card: 222.2 84% 4.9%;
|
|
--card-foreground: 210 40% 98%;
|
|
--popover: 222.2 84% 4.9%;
|
|
--popover-foreground: 210 40% 98%;
|
|
--primary: 210 40% 98%;
|
|
--primary-foreground: 222.2 47.4% 11.2%;
|
|
--secondary: 217.2 32.6% 17.5%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
--muted: 217.2 32.6% 17.5%;
|
|
--muted-foreground: 215 20.2% 65.1%;
|
|
--accent: 217.2 32.6% 17.5%;
|
|
--accent-foreground: 210 40% 98%;
|
|
--destructive: 0 62.8% 30.6%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
--border: 217.2 32.6% 17.5%;
|
|
--input: 217.2 32.6% 17.5%;
|
|
--ring: 212.7 26.8% 83.9%;
|
|
--chart-1: 220 70% 50%;
|
|
--chart-2: 160 60% 45%;
|
|
--chart-3: 30 80% 55%;
|
|
--chart-4: 280 65% 60%;
|
|
--chart-5: 340 75% 55%;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
font-family: var(--font-oswald), sans-serif;
|
|
font-weight: 300;
|
|
/* Ensure smooth font rendering */
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
text-rendering: optimizeLegibility;
|
|
}
|
|
|
|
/* All headings use Permanent Marker */
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
font-family: var(--font-permanent-marker), cursive;
|
|
font-weight: 400;
|
|
/* Optimize font rendering for headings */
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Navigation uses Oswald */
|
|
nav,
|
|
nav a {
|
|
font-family: var(--font-oswald), sans-serif;
|
|
font-weight: 300;
|
|
}
|
|
|
|
/* Ensure all text elements use Oswald by default */
|
|
p,
|
|
span,
|
|
div,
|
|
a,
|
|
button,
|
|
input,
|
|
textarea,
|
|
label {
|
|
font-family: var(--font-oswald), sans-serif;
|
|
font-weight: 300;
|
|
}
|
|
|
|
/* Specific font classes */
|
|
.font-oswald {
|
|
font-family: var(--font-oswald), sans-serif !important;
|
|
font-weight: 300 !important;
|
|
}
|
|
|
|
.font-roboto {
|
|
font-family: var(--font-roboto), sans-serif !important;
|
|
}
|
|
|
|
.font-permanent-marker {
|
|
font-family: var(--font-permanent-marker), cursive !important;
|
|
}
|
|
|
|
.font-playfair {
|
|
font-family: var(--font-playfair-display), serif !important;
|
|
}
|
|
|
|
/* Hero title - using Permanent Marker */
|
|
.hero-title {
|
|
font-family: var(--font-permanent-marker), cursive !important;
|
|
font-weight: 400 !important;
|
|
letter-spacing: -0.02em;
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Section titles - using Permanent Marker */
|
|
.section-title {
|
|
font-family: var(--font-permanent-marker), cursive !important;
|
|
font-weight: 400 !important;
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Service card titles - using Permanent Marker */
|
|
.service-title {
|
|
font-family: var(--font-permanent-marker), cursive !important;
|
|
font-weight: 400 !important;
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Testimonial names - using Permanent Marker */
|
|
.testimonial-name {
|
|
font-family: var(--font-permanent-marker), cursive !important;
|
|
font-weight: 400 !important;
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Prevent font flash during load */
|
|
.font-loading {
|
|
visibility: hidden;
|
|
}
|
|
|
|
.fonts-loaded .font-loading {
|
|
visibility: visible;
|
|
}
|
|
|
|
/* Custom height for larger logos */
|
|
.max-h-30 {
|
|
max-height: 7.5rem; /* 120px */
|
|
}
|
|
|
|
/* Text shadow */
|
|
.text-shadow-sm {
|
|
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
|
|
}
|
|
}
|
|
|
|
/* Critical font loading optimization */
|
|
@font-face {
|
|
font-family: "Oswald";
|
|
font-style: normal;
|
|
font-weight: 300;
|
|
font-display: swap;
|
|
src: url("https://fonts.gstatic.com/s/oswald/v53/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2") format("woff2");
|
|
unicode-range:
|
|
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "Roboto";
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
font-display: swap;
|
|
src: url("https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2") format("woff2");
|
|
unicode-range:
|
|
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "Roboto";
|
|
font-style: normal;
|
|
font-weight: 300;
|
|
font-display: swap;
|
|
src: url("https://fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2") format("woff2");
|
|
unicode-range:
|
|
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
}
|