1- /* --- CSS CHO AWARD SECTION --- */
2-
3- .award-card {
4- display : grid;
5- grid-template-columns : 1fr 2fr ;
6- /* Chia làm 2 cột, cột mô tả rộng hơn */
7- gap : 2rem ;
8- padding : 2.5rem ;
9- align-items : center;
10- }
11-
12- .award-info {
13- text-align : right;
14- border-right : 2px solid var (--border-color );
15- padding-right : 2rem ;
16- }
17-
18- .award-date {
19- color : var (--gradient-purple );
20- font-weight : 700 ;
21- margin-bottom : 0.5rem ;
22- }
23-
24- .award-title {
25- font-size : 1.75rem ;
26- font-weight : 600 ;
27- color : var (--text-primary );
28- margin-bottom : 0.25rem ;
29- }
30-
31- .award-competition {
32- font-style : italic;
33- color : var (--text-secondary );
34- margin-bottom : 1rem ;
35- }
36-
37- .award-issuer {
38- font-size : 0.9rem ;
39- color : var (--text-secondary );
40- }
41-
42- .award-description ul {
43- list-style-type : none;
44- padding-left : 0 ;
45- }
46-
47- .award-description li {
48- position : relative;
49- padding-left : 1.75rem ;
50- margin-bottom : 1rem ;
51- color : var (--text-secondary );
52- }
53-
54- .award-description li ::before {
55- content : '🏆' ;
56- /* Hoặc dùng '✨', '✓' */
57- position : absolute;
58- left : 0 ;
59- top : 0 ;
60- color : var (--gradient-yellow );
61- font-size : 1rem ;
62- }
63-
64- /* Responsive cho màn hình nhỏ */
65- @media (max-width : 768px ) {
66- .award-card {
67- grid-template-columns : 1fr ;
68- /* Chuyển thành 1 cột */
69- gap : 1.5rem ;
70- }
71-
72- .award-info {
73- text-align : center;
74- border-right : none;
75- border-bottom : 2px solid var (--border-color );
76- padding-right : 0 ;
77- padding-bottom : 1.5rem ;
78- }
79-
80- .award-description li {
81- padding-left : 1.5rem ;
82- }
83- }
84-
85- .award-photo-card {
86- margin-top : 2rem ;
87- padding : 2rem ;
88- text-align : center;
89- }
90-
91- .award-photo-card .photo-title {
92- font-size : 1.25rem ;
93- color : var (--text-secondary );
94- margin-bottom : 1.5rem ;
95- font-weight : 500 ;
96- }
97-
98- .award-photo-card .photo-wrapper {
99- max-width : 700px ;
100- margin : 0 auto;
101- border-radius : 0.75rem ;
102- overflow : hidden;
103- border : 1px solid var (--border-color );
104- box-shadow : 0 5px 20px rgba (0 , 0 , 0 , 0.2 );
105- }
106-
107- .award-photo-card img {
108- width : 100% ;
109- height : auto;
110- display : block;
111- }
112-
113- .award-photo-card .photo-caption {
114- margin-top : 1.5rem ;
115- font-style : italic;
116- font-size : 0.9rem ;
117- color : var (--text-secondary );
118- }
1+ /* --- CSS CHO AWARD SECTION --- */
2+
3+ .award-card {
4+ display : grid;
5+ grid-template-columns : 1fr 2fr ;
6+ /* Chia làm 2 cột, cột mô tả rộng hơn */
7+ gap : 2rem ;
8+ padding : 2.5rem ;
9+ align-items : center;
10+ }
11+
12+ .award-info {
13+ text-align : right;
14+ border-right : 2px solid var (--border-color );
15+ padding-right : 2rem ;
16+ }
17+
18+ .award-date {
19+ color : var (--gradient-purple );
20+ font-weight : 700 ;
21+ margin-bottom : 0.5rem ;
22+ }
23+
24+ .award-title {
25+ font-size : 1.75rem ;
26+ font-weight : 600 ;
27+ color : var (--text-primary );
28+ margin-bottom : 0.25rem ;
29+ }
30+
31+ .award-competition {
32+ font-style : italic;
33+ color : var (--text-secondary );
34+ margin-bottom : 1rem ;
35+ }
36+
37+ .award-issuer {
38+ font-size : 0.9rem ;
39+ color : var (--text-secondary );
40+ }
41+
42+ .award-description ul {
43+ list-style-type : none;
44+ padding-left : 0 ;
45+ }
46+
47+ .award-description li {
48+ position : relative;
49+ padding-left : 1.75rem ;
50+ margin-bottom : 1rem ;
51+ color : var (--text-secondary );
52+ }
53+
54+ .award-description li ::before {
55+ content : '🏆' ;
56+ /* Hoặc dùng '✨', '✓' */
57+ position : absolute;
58+ left : 0 ;
59+ top : 0 ;
60+ color : var (--gradient-yellow );
61+ font-size : 1rem ;
62+ }
63+
64+ /* Responsive cho màn hình nhỏ */
65+ @media (max-width : 768px ) {
66+ .award-card {
67+ grid-template-columns : 1fr ;
68+ /* Chuyển thành 1 cột */
69+ gap : 1.5rem ;
70+ }
71+
72+ .award-info {
73+ text-align : center;
74+ border-right : none;
75+ border-bottom : 2px solid var (--border-color );
76+ padding-right : 0 ;
77+ padding-bottom : 1.5rem ;
78+ }
79+
80+ .award-description li {
81+ padding-left : 1.5rem ;
82+ }
83+ }
84+
85+ .award-photo-card {
86+ margin-top : 2rem ;
87+ padding : 2rem ;
88+ text-align : center;
89+ }
90+
91+ .award-photo-card .photo-title {
92+ font-size : 1.25rem ;
93+ color : var (--text-secondary );
94+ margin-bottom : 1.5rem ;
95+ font-weight : 500 ;
96+ }
97+
98+ .award-photo-card .photo-wrapper {
99+ max-width : 700px ;
100+ margin : 0 auto;
101+ border-radius : 0.75rem ;
102+ overflow : hidden;
103+ border : 1px solid var (--border-color );
104+ box-shadow : 0 5px 20px rgba (0 , 0 , 0 , 0.2 );
105+ }
106+
107+ .award-photo-card img {
108+ width : 100% ;
109+ height : auto;
110+ display : block;
111+ }
112+
113+ .award-photo-card .photo-caption {
114+ margin-top : 1.5rem ;
115+ font-style : italic;
116+ font-size : 0.9rem ;
117+ color : var (--text-secondary );
118+ }
119+
120+ /* --- DIGITAL CERTIFICATES --- */
121+ .certificates-grid {
122+ display : grid;
123+ grid-template-columns : repeat (auto-fit, minmax (300px , 1fr ));
124+ gap : 2rem ;
125+ margin-top : 3rem ;
126+ }
127+
128+ .certificate-card {
129+ padding : 2.5rem 2rem ;
130+ text-align : center;
131+ transition : all 0.4s cubic-bezier (0.175 , 0.885 , 0.32 , 1.275 );
132+ display : flex;
133+ flex-direction : column;
134+ align-items : center;
135+ gap : 1.5rem ;
136+ position : relative;
137+ overflow : hidden;
138+ }
139+
140+ .certificate-card ::before {
141+ content : '' ;
142+ position : absolute;
143+ top : 0 ;
144+ left : 0 ;
145+ width : 100% ;
146+ height : 100% ;
147+ background : linear-gradient (135deg , rgba (255 , 255 , 255 , 0.1 ), transparent);
148+ z-index : 0 ;
149+ opacity : 0 ;
150+ transition : opacity 0.3s ease;
151+ }
152+
153+ .certificate-card : hover ::before {
154+ opacity : 1 ;
155+ }
156+
157+ .certificate-card : hover {
158+ transform : translateY (-10px );
159+ box-shadow : 0 20px 40px rgba (0 , 0 , 0 , 0.4 );
160+ border-color : var (--gradient-blue );
161+ }
162+
163+ .certificate-image {
164+ width : 100% ;
165+ aspect-ratio : 1414 / 1000 ; /* Standard A4 landscape ratio (w/h) */
166+ border-radius : 0.5rem ;
167+ overflow : hidden;
168+ border : 1px solid var (--border-color );
169+ box-shadow : 0 5px 15px rgba (0 , 0 , 0 , 0.2 );
170+ z-index : 1 ;
171+ display : flex;
172+ align-items : center;
173+ justify-content : center;
174+ background : rgba (0 , 0 , 0 , 0.1 );
175+ }
176+
177+ .certificate-image img {
178+ width : 100% ;
179+ height : 100% ;
180+ object-fit : contain; /* Changed from cover to show the whole certificate */
181+ transition : transform 0.5s ease;
182+ }
183+
184+ .certificate-card : hover .certificate-image img {
185+ transform : scale (1.05 );
186+ }
187+
188+ .certificate-title {
189+ font-size : 1.25rem ;
190+ font-weight : 700 ;
191+ color : var (--text-primary );
192+ line-height : 1.4 ;
193+ z-index : 1 ;
194+ }
195+
196+ .btn-view-cert {
197+ display : inline-flex;
198+ align-items : center;
199+ gap : 0.6rem ;
200+ padding : 0.8rem 1.8rem ;
201+ border-radius : 9999px ;
202+ background : rgba (255 , 255 , 255 , 0.05 );
203+ border : 1px solid var (--border-color );
204+ color : var (--text-primary );
205+ text-decoration : none;
206+ font-weight : 700 ;
207+ font-size : 0.9rem ;
208+ transition : all 0.3s ease;
209+ margin-top : auto;
210+ z-index : 1 ;
211+ }
212+
213+ .btn-view-cert : hover {
214+ background : linear-gradient (135deg , var (--gradient-blue ), var (--gradient-purple ));
215+ border-color : transparent;
216+ color : white;
217+ transform : scale (1.05 );
218+ box-shadow : 0 5px 15px rgba (109 , 40 , 217 , 0.4 );
219+ }
220+
221+ .section-subtitle {
222+ text-align : center;
223+ font-size : 1.75rem ;
224+ color : var (--text-primary );
225+ margin-top : 5rem ;
226+ margin-bottom : 2.5rem ;
227+ font-weight : 700 ;
228+ letter-spacing : -0.02em ;
229+ }
230+
231+ @media (max-width : 768px ) {
232+ .certificates-grid {
233+ grid-template-columns : 1fr ;
234+ padding : 0 1rem ;
235+ }
236+
237+ .section-subtitle {
238+ margin-top : 3.5rem ;
239+ }
240+ }
0 commit comments