@@ -10,16 +10,13 @@ <h1>Research Projects</h1>
1010 < article class ="project-card ">
1111 {{ $featured := .Resources.GetMatch "featured.*" }}
1212 {{ if $featured }}
13- < div class ="project-image ">
13+ < div class ="project-image " data-title =" {{ .Title }} " >
1414 < img src ="{{ $featured.RelPermalink }} " alt ="{{ .Title }} " loading ="lazy ">
15+ < div class ="project-title-overlay "> {{ .Title }}</ div >
1516 </ div >
1617 {{ end }}
1718
1819 < div class ="project-content ">
19- < h2 class ="project-title ">
20- {{ .Title }}
21- </ h2 >
22-
2320 {{ if .Params.summary }}
2421 < p class ="project-summary "> {{ .Params.summary }}</ p >
2522 {{ end }}
@@ -31,7 +28,6 @@ <h2 class="project-title">
3128 {{ end }}
3229 {{ end }}
3330 </ div >
34-
3531 </ div >
3632 </ article >
3733 {{ end }}
@@ -73,86 +69,109 @@ <h2 class="project-title">
7369
7470.project-card {
7571 background : white;
76- border : 1px solid var ( --vt-gray-200 ) ;
77- border-radius : 16 px ;
72+ border : 1px solid # e5e7eb ;
73+ border-radius : 12 px ;
7874 overflow : hidden;
7975 transition : all 0.3s cubic-bezier (0.4 , 0 , 0.2 , 1 );
80- box-shadow : 0 4 px 12 px rgba (134 , 31 , 65 , 0.08 );
76+ box-shadow : 0 2 px 8 px rgba (0 , 0 , 0 , 0.06 );
8177 cursor : pointer;
78+ display : flex;
79+ flex-direction : column;
8280}
8381
8482.project-card : hover {
85- transform : translateY (-8 px );
86- box-shadow : 0 20 px 40 px rgba (134 , 31 , 65 , 0.15 );
87- border-color : var ( --vt-maroon );
83+ transform : translateY (-6 px );
84+ box-shadow : 0 12 px 24 px rgba (134 , 31 , 65 , 0.12 );
85+ border-color : rgba ( 134 , 31 , 65 , 0.3 );
8886}
8987
9088.project-image {
9189 position : relative;
92- height : 200 px ;
90+ height : 160 px ;
9391 overflow : hidden;
92+ background : linear-gradient (135deg , rgba (134 , 31 , 65 , 0.95 ), rgba (229 , 117 , 31 , 0.95 ));
9493}
9594
9695.project-image img {
9796 width : 100% ;
9897 height : 100% ;
9998 object-fit : cover;
100- transition : transform 0.3s ease;
99+ transition : transform 0.3s ease, opacity 0.3s ease;
100+ opacity : 0.85 ;
101101}
102102
103103.project-card : hover .project-image img {
104- transform : scale (1.05 );
104+ transform : scale (1.08 );
105+ opacity : 0.95 ;
105106}
106107
107-
108- .project-content {
109- padding : 1.25rem 1rem ;
108+ .project-title-overlay {
109+ position : absolute;
110+ bottom : 0 ;
111+ left : 0 ;
112+ right : 0 ;
113+ padding : 1rem ;
114+ background : linear-gradient (to top, rgba (0 , 0 , 0 , 0.9 ), rgba (0 , 0 , 0 , 0.3 ));
115+ color : white;
116+ font-size : 1.1rem ;
117+ font-weight : 700 ;
110118 text-align : center;
119+ text-shadow : 0 2px 4px rgba (0 , 0 , 0 , 0.5 );
120+ transition : all 0.3s ease;
111121}
112122
113- .project-title {
114- font-size : 1.6rem ;
115- font-weight : 600 ;
116- margin : 0 0 0.75rem 0 ;
117- line-height : 1.3 ;
118- text-align : center;
119- color : var (--vt-gray-900 );
120- transition : color 0.3s ease;
123+ .project-card : hover .project-title-overlay {
124+ padding-bottom : 1.2rem ;
125+ background : linear-gradient (to top, rgba (134 , 31 , 65 , 0.95 ), rgba (134 , 31 , 65 , 0.3 ));
121126}
122127
123- .project-card : hover .project-title {
124- color : var (--vt-maroon );
128+ .project-content {
129+ padding : 1rem ;
130+ text-align : center;
131+ display : flex;
132+ flex-direction : column;
133+ gap : 0.75rem ;
134+ min-height : 120px ;
125135}
126136
127-
128137.project-summary {
129- color : var (--vt-gray-600 );
130- line-height : 1.6 ;
131- margin : 0 0 1 rem 0 ;
132- font-size : 0.95 rem ;
138+ color : var (--vt-gray-700 );
139+ line-height : 1.5 ;
140+ margin : 0 ;
141+ font-size : 0.85 rem ;
133142 display : -webkit-box;
134- -webkit-line-clamp : 3 ;
143+ -webkit-line-clamp : 2 ;
135144 -webkit-box-orient : vertical;
136145 overflow : hidden;
146+ flex-grow : 1 ;
137147}
138148
139149.project-tags {
140- margin-bottom : 0.75rem ;
150+ display : flex;
151+ flex-wrap : wrap;
152+ gap : 0.35rem ;
153+ justify-content : center;
154+ margin-top : auto;
141155}
142156
143157.tag {
144158 display : inline-block;
145- background : linear-gradient ( 135 deg , var ( --vt-maroon ) , var ( --vt-orange ) );
146- color : white ;
147- padding : 0.25 rem 0.75 rem ;
148- border-radius : 12 px ;
149- font-size : 0.7 rem ;
159+ background : rgba ( 134 , 31 , 65 , 0.1 );
160+ color : var ( --vt-maroon ) ;
161+ padding : 0.2 rem 0.5 rem ;
162+ border-radius : 8 px ;
163+ font-size : 0.65 rem ;
150164 font-weight : 600 ;
151- margin-right : 0.375rem ;
152- margin-bottom : 0.25rem ;
153165 text-transform : uppercase;
154- letter-spacing : 0.025em ;
155- box-shadow : 0 2px 4px rgba (134 , 31 , 65 , 0.2 );
166+ letter-spacing : 0.03em ;
167+ border : 1px solid rgba (134 , 31 , 65 , 0.2 );
168+ transition : all 0.2s ease;
169+ }
170+
171+ .project-card : hover .tag {
172+ background : var (--vt-maroon );
173+ color : white;
174+ border-color : var (--vt-maroon );
156175}
157176
158177
@@ -188,7 +207,16 @@ <h2 class="project-title">
188207 }
189208
190209 .project-content {
191- padding : 1rem 0.75rem ;
210+ padding : 0.9rem ;
211+ }
212+
213+ .project-image {
214+ height : 140px ;
215+ }
216+
217+ .project-title-overlay {
218+ font-size : 1rem ;
219+ padding : 0.8rem ;
192220 }
193221}
194222
@@ -197,12 +225,13 @@ <h2 class="project-title">
197225 font-size : 1.5rem ;
198226 }
199227
200- .project-title {
201- font-size : 1.3 rem ;
228+ .project-summary {
229+ font-size : 0.8 rem ;
202230 }
203231
204- .project-summary {
205- font-size : 0.9rem ;
232+ .tag {
233+ font-size : 0.6rem ;
234+ padding : 0.15rem 0.4rem ;
206235 }
207236}
208237</ style >
0 commit comments