/ docs / src / pages / index.module.css
index.module.css
  1  /* Main layout container */
  2  .homeContainer {
  3    display: flex;
  4    flex-direction: column;
  5    align-items: center;
  6    max-width: 1600px;
  7    margin: 0 auto;
  8    padding: 8rem 1rem 4rem;
  9  }
 10  
 11  /* --------------------------------
 12   * 1. Two Column Layout
 13   * -------------------------------- */
 14  .contentGrid {
 15    display: flex;
 16    flex-direction: row;
 17    gap: 8rem;
 18    width: 100%;
 19    margin-top: 2rem;
 20    align-items: flex-start;
 21    min-height: calc(100vh - 300px);
 22    padding-inline: 2rem;
 23  }
 24  
 25  .textColumn {
 26    flex: 1;
 27    max-width: 650px;
 28  }
 29  
 30  .cardsColumn {
 31    flex: 1;
 32    max-width: 650px;
 33    display: flex;
 34    flex-direction: column;
 35    gap: 2rem;
 36  }
 37  
 38  /* --------------------------------
 39   * 2. Typography
 40   * -------------------------------- */
 41  .megaHeading {
 42    font-size: 4rem;
 43    line-height: 1.1;
 44    font-weight: 200;
 45    margin-bottom: 1.5rem;
 46    letter-spacing: -0.02em;
 47    color: var(--ifm-heading-color);
 48  }
 49  
 50  .introText {
 51    font-size: 1.125rem;
 52    line-height: 1.6;
 53    color: var(--ifm-color-emphasis-800);
 54    margin-bottom: 2rem;
 55  }
 56  
 57  /* --------------------------------
 58   * 3. Glossy Card Component
 59   * -------------------------------- */
 60  .glossyCard {
 61    border-radius: 12px;
 62    overflow: hidden;
 63    background: var(--ifm-card-background-color);
 64    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
 65    transition: all 0.3s ease;
 66    border: 1px solid var(--ifm-color-emphasis-600);
 67    margin-bottom: 2rem;
 68  }
 69  
 70  [data-theme='dark'] .glossyCard {
 71    border: 1px solid var(--ifm-color-emphasis-300);
 72  }
 73  
 74  .glossyCardblue:hover {
 75    transform: translateY(-5px);
 76    box-shadow: 0 12px 40px rgba(1, 148, 226, 0.2);
 77    border-color: rgba(1, 148, 226, 0.3);
 78    background-color: rgba(1, 148, 226, 0.03);
 79  }
 80  
 81  .glossyCardred:hover {
 82    transform: translateY(-5px);
 83    box-shadow: 0 12px 40px rgba(235, 23, 0, 0.2);
 84    border-color: rgba(235, 23, 0, 0.3);
 85    background-color: rgba(235, 23, 0, 0.03);
 86  }
 87  
 88  .cardContent {
 89    padding: 1.5rem;
 90  }
 91  
 92  .cardHeader {
 93    display: flex;
 94    align-items: center;
 95    gap: 1rem;
 96    margin-bottom: 1rem;
 97  }
 98  
 99  .colorBlock {
100    width: 12px;
101    height: 12px;
102    border-radius: 4px;
103    flex-shrink: 0;
104  }
105  
106  .colorBlockblue {
107    background-color: var(--ifm-color-primary);
108  }
109  
110  .colorBlockred {
111    background-color: var(--genai-color-primary);
112  }
113  
114  .cardTitle {
115    font-size: 1.5rem;
116    font-weight: 600;
117    margin: 0;
118  }
119  
120  [data-theme='light'] .cardTitle {
121    color: var(--ifm-color-emphasis-900);
122  }
123  
124  [data-theme='dark'] .cardTitle {
125    color: rgba(255, 255, 255, 0.9);
126  }
127  
128  .cardDescription {
129    font-size: 1rem;
130    line-height: 1.6;
131    color: var(--ifm-color-emphasis-700);
132    margin: 0.75rem 0 1.5rem;
133  }
134  
135  /* --------------------------------
136   * 4. Card Actions & Buttons
137   * -------------------------------- */
138  .cardActions {
139    margin-top: 1.5rem;
140    display: flex;
141    flex-direction: row;
142    gap: 3rem;
143  }
144  
145  .cardButton {
146    display: inline-flex;
147    align-items: center;
148    padding: 0.75rem 1.25rem;
149    border-radius: 8px;
150    font-weight: 600;
151    background-color: #ffffff;
152    text-decoration: none;
153    cursor: pointer;
154    transition: all 0.2s ease;
155  }
156  
157  /* Light mode border color */
158  [data-theme='light'] .cardButton {
159    border: 1px solid var(--ifm-border-color);
160    color: var(--ifm-color-emphasis-900);
161  }
162  
163  /* Dark mode styling */
164  [data-theme='dark'] .cardButton {
165    border: 1px solid var(--ifm-color-emphasis-300);
166    background-color: var(--ifm-color-emphasis-100);
167    color: var(--ifm-color-emphasis-800);
168  }
169  
170  .arrowIcon {
171    margin-left: 0.5rem;
172    transition: transform 0.2s ease;
173  }
174  
175  /* Arrow hover styling */
176  .cardButton:hover .arrowIcon {
177    transform: translateX(3px);
178  }
179  
180  /* Button hover styling */
181  .cardButton:hover {
182    background-color: rgba(0, 0, 0, 0.03);
183  }
184  
185  [data-theme='dark'] .cardButton:hover {
186    background-color: var(--ifm-color-emphasis-200);
187    color: rgba(0, 0, 0, 0.9);
188    border-color: var(--ifm-color-emphasis-400);
189  }
190  
191  /* --------------------------------
192   * 5. Dark Mode Adjustments
193   * -------------------------------- */
194  [data-theme='dark'] .glossyCardblue:hover {
195    background-color: rgba(1, 148, 226, 0.1);
196  }
197  
198  [data-theme='dark'] .glossyCardred:hover {
199    background-color: rgba(235, 23, 0, 0.1);
200  }
201  
202  /* --------------------------------
203   * 6. Responsive Adjustments
204   * -------------------------------- */
205  @media (max-width: 1600px) {
206    .contentGrid {
207      gap: 4rem;
208    }
209  }
210  
211  @media (max-width: 996px) {
212    .contentGrid {
213      flex-direction: column;
214    }
215  
216    .textColumn,
217    .cardsColumn {
218      max-width: 100%;
219    }
220  
221    .homeContainer {
222      padding: 2rem 0 4rem;
223    }
224  }
225  
226  @media (max-width: 768px) {
227    .megaHeading {
228      font-size: 2.5rem;
229    }
230  
231    .introText {
232      font-size: 1rem;
233    }
234  
235    .cardActions {
236      flex-direction: column;
237      gap: 1rem;
238    }
239  
240    .homeContainer {
241      padding: 0 0 2rem;
242    }
243  }