File size: 3,433 Bytes
7edc589 f41fb99 7edc589 f41fb99 7edc589 f41fb99 7edc589 37170d1 3c251ea 37170d1 3c251ea 37170d1 3c251ea f41fb99 3c251ea 7edc589 f41fb99 7edc589 f41fb99 7edc589 f41fb99 7edc589 f41fb99 37170d1 f41fb99 7edc589 f41fb99 37170d1 f41fb99 7edc589 f41fb99 7edc589 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 37170d1 f41fb99 7edc589 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | @tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
--background: 0 0% 100%;
--foreground: 0 0% 3.9%;
--card: 0 0% 100%;
--card-foreground: 0 0% 3.9%;
--popover: 0 0% 100%;
--popover-foreground: 0 0% 3.9%;
--primary: 0 0% 9%;
--primary-foreground: 0 0% 98%;
--secondary: 0 0% 96.1%;
--secondary-foreground: 0 0% 9%;
--muted: 0 0% 96.1%;
--muted-foreground: 0 0% 45.1%;
--accent: 0 0% 96.1%;
--accent-foreground: 0 0% 9%;
--destructive: 0 0% 9%;
--destructive-foreground: 0 0% 98%;
--border: 0 0% 89.8%;
--input: 0 0% 89.8%;
--ring: 0 0% 3.9%;
--radius: 0.5rem;
}
.dark {
--background: 0 0% 0%;
--foreground: 0 0% 98%;
--card: 0 0% 0%;
--card-foreground: 0 0% 98%;
--popover: 0 0% 0%;
--popover-foreground: 0 0% 98%;
--primary: 0 0% 98%;
--primary-foreground: 0 0% 9%;
--secondary: 0 0% 14.9%;
--secondary-foreground: 0 0% 98%;
--muted: 0 0% 14.9%;
--muted-foreground: 0 0% 63.9%;
--accent: 0 0% 14.9%;
--accent-foreground: 0 0% 98%;
--destructive: 0 0% 98%;
--destructive-foreground: 0 0% 9%;
--border: 0 0% 14.9%;
--input: 0 0% 14.9%;
--ring: 0 0% 83.1%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
}
}
/* Custom utility classes for responsive design */
@layer utilities {
/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
/* Responsive text utilities */
.text-responsive {
@apply text-sm sm:text-base;
}
.heading-responsive {
@apply text-2xl sm:text-3xl md:text-4xl lg:text-5xl;
}
/* Grid pattern for backgrounds */
.bg-grid-pattern {
background-image: linear-gradient(to right, rgb(255 255 255 / 0.02) 1px, transparent 1px),
linear-gradient(to bottom, rgb(255 255 255 / 0.02) 1px, transparent 1px);
background-size: 50px 50px;
}
/* Responsive container */
.container-responsive {
@apply w-full px-4 sm:px-6 lg:px-8 mx-auto max-w-7xl;
}
/* Responsive spacing */
.spacing-responsive {
@apply py-12 sm:py-16 md:py-20 lg:py-24;
}
/* Focus visible utilities */
.focus-ring {
@apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background;
}
/* Card hover effects */
.card-hover {
@apply transition-all duration-200 hover:border-foreground/20 hover:shadow-lg;
}
/* Button size utilities */
.btn-sm {
@apply h-8 px-3 text-xs;
}
.btn-md {
@apply h-9 px-4 text-sm;
}
.btn-lg {
@apply h-10 px-8;
}
/* Responsive grid */
.grid-responsive {
@apply grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 sm:gap-6;
}
/* Truncate utilities */
.line-clamp-1 {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.line-clamp-2 {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.line-clamp-3 {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
} |