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;
  }
}