11/* Variables */
2- $primary-color : #007acc ; /* Blue */
3- $secondary-color : #333 ; /* Dark gray */
4- $background-color : #f9f9f9 ; /* Light gray */
5- $font-family : ' Arial' , sans-serif ; /* Font family */
2+ $primary-color : #007acc ;
3+ /* Blue */
4+ $secondary-color : #333 ;
5+ /* Dark gray */
6+ $background-color : #f9f9f9 ;
7+ /* Light gray */
8+ $font-family : ' Arial' , sans-serif ;
9+ /* Font family */
610
711
812/* General styling */
913
1014section {
11- margin-bottom : 40px ; /* Space between sections */
12- padding-bottom : 20px ; /* Add space before the line */
13- border-bottom : 2px solid #ddd ; /* Light gray line between sections */
15+ margin-bottom : 40px ;
16+ /* Space between sections */
17+ padding-bottom : 20px ;
18+ /* Add space before the line */
19+ position : relative ;
20+ /* for pseudo-element positioning */
21+ }
22+
23+ /* Draw a long, centered divider that stretches across the viewport */
24+ section ::after {
25+ content : ' ' ;
26+ position : absolute ;
27+ left : 50% ;
28+ bottom : 0 ;
29+ transform : translateX (-50% );
30+ /* Make the divider match the content width instead of full viewport */
31+ width : 100% ;
32+ max-width : 1100px ;
33+ /* shorter cap so lines aren't overly long */
34+ height : 2px ;
35+ background : #ddd ;
36+ /* same color as before */
37+ pointer-events : none ;
1438}
1539
16- section :last-child {
17- border-bottom : none ; /* No border after the last section */
40+ section :last-child ::after {
41+ display : none ;
42+ /* No divider after the last section */
1843}
1944
2045
2146/* *
2247 * Home page content
2348 */
2449.homepage-content {
25- text-align : center ;
26- padding : 20px ;
50+ text-align : center ;
51+ padding : 20px ;
2752}
2853
2954.image-container {
30- text-align : center ;
31- margin-bottom : 20px ;
55+ text-align : center ;
56+ margin-bottom : 20px ;
3257}
3358
3459.homepage-content p {
35- font-size : 1.2em ;
36- line-height : 1.6 ;
37- margin-bottom : 20px ;
60+ font-size : 1.2em ;
61+ line-height : 1.6 ;
62+ margin-bottom : 20px ;
3863}
3964
4065.homepage-content ul {
41- list-style-type : none ;
42- padding : 0 ;
43- font-size : 1.2em ;
66+ list-style-type : none ;
67+ padding : 0 ;
68+ font-size : 1.2em ;
4469}
4570
4671.homepage-content ul li {
47- margin-bottom : 10px ;
72+ margin-bottom : 10px ;
4873}
4974
5075.homepage-content a {
51- color : #007acc ;
52- text-decoration : none ;
76+ color : #007acc ;
77+ text-decoration : none ;
5378}
5479
5580.homepage-content a :hover {
56- text-decoration : underline ;
81+ text-decoration : underline ;
5782}
5883
5984.align-center {
60- display : block ;
61- margin : 0 auto ;
85+ display : block ;
86+ margin : 0 auto ;
6287}
6388
6489/* *
6590* News
6691*/
6792.recent-news {
68- margin : 50px 0 ;
69- text-align : center ;
93+ margin : 50px 0 ;
94+ text-align : center ;
7095}
7196
7297.news-carousel {
73- background-color : #f5f5f5 ;
74- padding : 20px ; /* Add padding around the content */
75- border-radius : 10px ; /* Optional: round the corners */
98+ background-color : #f5f5f5 ;
99+ padding : 20px ;
100+ /* Add padding around the content */
101+ border-radius : 10px ;
102+ /* Optional: round the corners */
76103}
77104
78105.news-list {
79- list-style : none ;
80- padding : 0 ;
81- margin : 0 ;
106+ list-style : none ;
107+ padding : 0 ;
108+ margin : 0 ;
82109}
83110
84111.news-list li {
85- display : none ;
86- font-size : 1.2em ;
87- padding : 20px ;
88- border-bottom : 1px solid #ddd ;
112+ display : none ;
113+ font-size : 1.2em ;
114+ padding : 20px ;
115+ border-bottom : 1px solid #ddd ;
89116}
90117
91118.news-list li h3 {
92- margin : 0 ;
93- font-size : 1.5em ;
119+ margin : 0 ;
120+ font-size : 1.5em ;
94121}
95122
96123.news-list li p {
97- margin : 10px 0 ;
124+ margin : 10px 0 ;
98125}
99126
100127/* People page */
101128.people-page {
102129 padding : 20px ;
103130}
104- .person , .collaborator {
105- max-width : 40% ;
131+
132+ .person ,
133+ .collaborator {
134+ /* Fixed card width to allow grid centering of incomplete rows */
135+ width : 280px ;
136+ box-sizing : border-box ;
106137 display : flex ;
107138 flex-direction : column ;
108139 align-items : center ;
109140 margin-bottom : 20px ;
110141}
142+
111143.collaborator {
112- max- width : 30 % ;
144+ width : 280 px ;
113145}
146+
114147.profile-pic {
115148 border-radius : 50% ;
116149 width : 100px ;
117150 height : 100px ;
118151 object-fit : cover ;
119152 margin-bottom : 15px ;
120153}
154+
121155.info {
122156 flex : 1 ;
123157 text-align : center ;
124158}
159+
125160.info h3 {
126161 margin-bottom : 10px ;
127162 font-size : 1.2em ;
128163}
164+
129165.info p {
130166 margin : 5px 0 ;
131- font-size : 0.9em ; /* Decrease font size for bio */
132- line-height : 1.4 ; /* Optional: Adjust line height for readability */
133- color : #666 ; /* Optional: Adjust text color to a slightly lighter shade */
167+ font-size : 0.9em ;
168+ /* Decrease font size for bio */
169+ line-height : 1.4 ;
170+ /* Optional: Adjust line height for readability */
171+ color : #666 ;
172+ /* Optional: Adjust text color to a slightly lighter shade */
134173}
174+
135175.links a {
136176 margin-right : 10px ;
137177 font-size : 1.5em ;
138178 color : #333 ;
139179 text-decoration : none ;
140180}
181+
141182.links a :hover {
142183 color : $primary-color ;
143184}
144185
145186.person-grid {
146- display : flex ;
187+ display : grid ;
188+ /* 3 fixed-width columns on wide screens so leftover items can be centered */
189+ grid-template-columns : repeat (3 , 280px );
147190 gap : 15px ;
148- justify-content : space-evenly ;
149- flex-direction : row ;
150- flex-wrap : wrap ;
191+ justify-content : center ;
192+ /* center the grid when the row isn't full */
193+ }
194+
195+ /* Responsive breakpoints: 3 columns -> 2 columns -> 1 column */
196+ @media (max-width : 900px ) {
197+ .person-grid {
198+ grid-template-columns : repeat (2 , 280px );
199+ }
200+ }
201+
202+ @media (max-width : 600px ) {
203+ .person-grid {
204+ grid-template-columns : 1fr ;
205+ justify-items : center ;
206+ }
207+
208+ .person ,
209+ .collaborator {
210+ width : 100% ;
211+ max-width : 480px ;
212+ /* limit card width on small screens */
213+ }
151214}
152215
153216
@@ -159,7 +222,8 @@ margin: 10px 0;
159222
160223/* General styling for publications */
161224.publication {
162- border-bottom : 1px solid #ddd ; /* Light gray line between publications */
225+ border-bottom : 1px solid #ddd ;
226+ /* Light gray line between publications */
163227 padding-bottom : 20px ;
164228 margin-bottom : 20px ;
165229}
@@ -177,20 +241,23 @@ margin: 10px 0;
177241}
178242
179243/* Authors and venue */
180- .authors , .venue {
244+ .authors ,
245+ .venue {
181246 text-align : center ;
182247 margin-bottom : 15px ;
183248}
184249
185250/* Figure centered and set to 80% of page width */
186251.pub-figure {
187252 display : flex ;
188- justify-content : center ; /* Center the image */
253+ justify-content : center ;
254+ /* Center the image */
189255 margin-bottom : 20px ;
190256}
191257
192258.pub-figure img {
193- width : 80% ; /* Set the image to 80% of the page width */
259+ width : 80% ;
260+ /* Set the image to 80% of the page width */
194261 height : auto ;
195262 border-radius : 5px ;
196263}
@@ -205,7 +272,8 @@ margin: 10px 0;
205272 margin-right : 10px ;
206273 text-decoration : none ;
207274 font-size : 1.2em ;
208- color : #333 ; /* Link color */
275+ color : #333 ;
276+ /* Link color */
209277 background-color : transparent ;
210278 border : none ;
211279 cursor : pointer ;
0 commit comments