1+ /* Design Refinements for IPCrypt Website */
2+
3+ /* 1. Improved Card Hover Effects */
4+ .card {
5+ transition : transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
6+ position : relative;
7+ overflow : hidden;
8+ border-radius : 0.5rem ;
9+ border : 1px solid var (--color-border );
10+ background-color : white;
11+ padding : 1.5rem ;
12+ box-shadow : 0 4px 6px rgba (0 , 0 , 0 , 0.05 );
13+ }
14+
15+ .card ::before {
16+ content : '' ;
17+ position : absolute;
18+ top : 0 ;
19+ left : 0 ;
20+ width : 100% ;
21+ height : 4px ;
22+ background : linear-gradient (90deg , var (--color-primary ) 0% , var (--color-accent ) 100% );
23+ transform : scaleX (0 );
24+ transform-origin : left;
25+ transition : transform 0.3s ease;
26+ }
27+
28+ .card : hover {
29+ transform : translateY (-5px );
30+ box-shadow : 0 10px 15px rgba (0 , 0 , 0 , 0.1 );
31+ border-color : var (--color-primary-light );
32+ }
33+
34+ .card : hover ::before {
35+ transform : scaleX (1 );
36+ }
37+
38+ /* Feature Card Enhancements */
39+ .feature-card {
40+ transition : transform 0.3s ease, box-shadow 0.3s ease;
41+ border-radius : 0.5rem ;
42+ border : 1px solid var (--color-border );
43+ background-color : white;
44+ padding : 1.5rem ;
45+ box-shadow : 0 4px 6px rgba (0 , 0 , 0 , 0.05 );
46+ position : relative;
47+ overflow : hidden;
48+ }
49+
50+ .feature-card ::before {
51+ content : '' ;
52+ position : absolute;
53+ top : 0 ;
54+ left : 0 ;
55+ width : 4px ;
56+ height : 100% ;
57+ background : linear-gradient (180deg , var (--color-primary ) 0% , var (--color-accent ) 100% );
58+ transform : scaleY (0 );
59+ transform-origin : top;
60+ transition : transform 0.3s ease;
61+ }
62+
63+ .feature-card : hover {
64+ transform : translateY (-5px );
65+ box-shadow : 0 10px 15px rgba (0 , 0 , 0 , 0.1 );
66+ }
67+
68+ .feature-card : hover ::before {
69+ transform : scaleY (1 );
70+ }
71+
72+ .feature-card h3 {
73+ margin-top : 0 ;
74+ color : var (--color-primary );
75+ transition : color 0.3s ease;
76+ }
77+
78+ .feature-card : hover h3 {
79+ color : var (--color-primary-dark );
80+ }
81+
82+ /* 2. Subtle Page Transitions */
83+ .page-transition {
84+ animation : fadeIn 0.5s ease-in-out;
85+ }
86+
87+ @keyframes fadeIn {
88+ from {
89+ opacity : 0 ;
90+ transform : translateY (10px );
91+ }
92+
93+ to {
94+ opacity : 1 ;
95+ transform : translateY (0 );
96+ }
97+ }
98+
99+ /* Apply page transition to main content */
100+ main {
101+ animation : fadeIn 0.5s ease-in-out;
102+ }
103+
104+ /* Section transitions */
105+ section {
106+ opacity : 0 ;
107+ transform : translateY (20px );
108+ transition : opacity 0.6s ease, transform 0.6s ease;
109+ }
110+
111+ section .visible {
112+ opacity : 1 ;
113+ transform : translateY (0 );
114+ }
115+
116+ /* 3. Enhanced Color Scheme with Accent Colors */
117+ : root {
118+ /* Original colors */
119+ --color-primary : # 2563eb ;
120+ --color-primary-dark : # 1d4ed8 ;
121+ --color-secondary : # 10b981 ;
122+ --color-secondary-dark : # 059669 ;
123+
124+ /* New accent colors */
125+ --color-primary-light : # 60a5fa ;
126+ --color-secondary-light : # 34d399 ;
127+ --color-accent : # 8b5cf6 ;
128+ --color-accent-dark : # 7c3aed ;
129+ --color-accent-light : # a78bfa ;
130+ --color-warning : # f59e0b ;
131+ --color-warning-light : # fbbf24 ;
132+ --color-info : # 0ea5e9 ;
133+ --color-info-light : # 38bdf8 ;
134+
135+ /* Improved text colors */
136+ --color-text : # 1e293b ;
137+ --color-text-light : # 64748b ;
138+ --color-text-lighter : # 94a3b8 ;
139+ --color-background : # f8fafc ;
140+ --color-background-alt : # f1f5f9 ;
141+ --color-border : # e2e8f0 ;
142+ --color-code-bg : # f1f5f9 ;
143+ }
144+
145+ /* Apply accent colors to various elements */
146+ .text-accent {
147+ color : var (--color-accent );
148+ }
149+
150+ .bg-accent {
151+ background-color : var (--color-accent );
152+ }
153+
154+ .border-accent {
155+ border-color : var (--color-accent );
156+ }
157+
158+ .btn-accent {
159+ background-color : var (--color-accent );
160+ color : white;
161+ border : 1px solid var (--color-accent-dark );
162+ }
163+
164+ .btn-accent : hover {
165+ background-color : var (--color-accent-dark );
166+ }
167+
168+ /* 4. Improved Typography with Better Font Pairings */
169+ : root {
170+ --font-sans : 'Inter' , -apple-system, BlinkMacSystemFont, "Segoe UI" , Roboto, Helvetica, Arial, sans-serif;
171+ --font-heading : 'Montserrat' , var (--font-sans );
172+ --font-mono : 'JetBrains Mono' , "SFMono-Regular" , Consolas, "Liberation Mono" , Menlo, monospace;
173+ }
174+
175+ /* Apply improved typography */
176+ body {
177+ font-family : var (--font-sans );
178+ line-height : 1.7 ;
179+ }
180+
181+ h1 ,
182+ h2 ,
183+ h3 ,
184+ h4 ,
185+ h5 ,
186+ h6 {
187+ font-family : var (--font-heading );
188+ line-height : 1.3 ;
189+ letter-spacing : -0.025em ;
190+ }
191+
192+ h1 {
193+ font-weight : 700 ;
194+ }
195+
196+ h2 {
197+ font-weight : 700 ;
198+ }
199+
200+ h3 {
201+ font-weight : 600 ;
202+ }
203+
204+ code ,
205+ pre {
206+ font-family : var (--font-mono );
207+ font-size : 0.9em ;
208+ }
209+
210+ /* Font imports */
211+ @import url ('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700&family=JetBrains+Mono:wght@400;500&display=swap' );
212+
213+ /* 5. Additional Refinements */
214+
215+ /* Improved button hover effects */
216+ .btn {
217+ transition : all 0.3s ease;
218+ position : relative;
219+ overflow : hidden;
220+ }
221+
222+ .btn ::after {
223+ content : '' ;
224+ position : absolute;
225+ top : 50% ;
226+ left : 50% ;
227+ width : 5px ;
228+ height : 5px ;
229+ background : rgba (255 , 255 , 255 , 0.5 );
230+ opacity : 0 ;
231+ border-radius : 100% ;
232+ transform : scale (1 , 1 ) translate (-50% );
233+ transform-origin : 50% 50% ;
234+ }
235+
236+ .btn : hover ::after {
237+ animation : ripple 1s ease-out;
238+ }
239+
240+ @keyframes ripple {
241+ 0% {
242+ transform : scale (0 , 0 );
243+ opacity : 0.5 ;
244+ }
245+
246+ 100% {
247+ transform : scale (20 , 20 );
248+ opacity : 0 ;
249+ }
250+ }
251+
252+ /* Improved focus styles for accessibility */
253+ a : focus ,
254+ button : focus ,
255+ input : focus ,
256+ select : focus ,
257+ textarea : focus {
258+ outline : 2px solid var (--color-primary );
259+ outline-offset : 2px ;
260+ }
261+
262+ /* Add this script to the end of your main.js file to enable section animations */
263+ /*
264+ document.addEventListener('DOMContentLoaded', function() {
265+ const sections = document.querySelectorAll('section');
266+
267+ const observer = new IntersectionObserver((entries) => {
268+ entries.forEach(entry => {
269+ if (entry.isIntersecting) {
270+ entry.target.classList.add('visible');
271+ }
272+ });
273+ }, {
274+ threshold: 0.1
275+ });
276+
277+ sections.forEach(section => {
278+ observer.observe(section);
279+ });
280+ });
281+ */
0 commit comments