PageSourceSearch

https://guygrossman.com/articles/

html guygrossman.com collected 2026-09-24 11:48:35 UTC 18,689 bytes, 535 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4  <!-- Head -->
5  <head>    <!-- Metadata, OpenGraph and Schema.org -->
6    
7    <!-- Website verification -->
8    <meta name="google-site-verification" content="" /><meta name="msvalidate.01" content="" />
9
10    <!-- Standard metadata -->
11    <meta charset="utf-8">
12    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
13    <meta http-equiv="X-UA-Compatible" content="IE=edge">
14    <title>Guy Grossman | articles</title>
15    <meta name="author" content="Guy  Grossman" />
16    <meta name="description" content="A simple, whitespace theme for academics. Based on [*folio](https://github.com/bogoli/-folio) design.
17" />
18    <meta name="keywords" content="guy-grossman, political-science, conflict-and-crime, migration-and-forced-displacement, democratic-erosion" />
19
20
21    <!-- Bootstrap & MDB -->
22    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-DF7Zhf293AJxJNTmh5zhoYYIMs2oXitRfBjY+9L//AY=" crossorigin="anonymous">
23    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous" />
24
25    <!-- Fonts & Icons -->
26    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" integrity="sha256-mUZM63G8m73Mcidfrv5E+Y61y7a12O5mW4ezU3bxqW4=" crossorigin="anonymous">
27    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/academicons.min.css" integrity="sha256-i1+4qU2G2860dGGIOJscdC30s9beBXjFfzjWLjBRsBg=" crossorigin="anonymous">
28    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons">
29
30    <!-- Code Syntax Highlighting -->
31    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jwarby/jekyll-pygments-themes@master/github.css" media="none" id="highlight_theme_light" />
32
33    <!-- Styles -->
34    
35    <link rel="shortcut icon" href="/assets/img/upen.png"/>
36    
37    <link rel="stylesheet" href="/assets/css/main.css">
38    <link rel="canonical" href="guygrossman.com/articles/">
39    
40    <!-- Dark Mode -->
41    
42    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jwarby/jekyll-pygments-themes@master/native.css" media="none" id="highlight_theme_dark" />
43
44    
44<script src="/assets/js/theme.js"></script>
44
45    
45<script src="/assets/js/dark_mode.js"></script>
45
46    
47
48  </head>
49
50  <!-- Body -->
51  <body class="fixed-top-nav ">
52
53    <!-- Header -->
54    <header>
55
56      <!-- Nav Bar -->
57      <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top">
58        <div class="container">
59          <a class="navbar-brand title font-weight-lighter" href="/">Guy Grossman</a>
60          <!-- Navbar Toggle -->
61          <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
62            <span class="sr-only">Toggle navigation</span>
63            <span class="icon-bar top-bar"></span>
64            <span class="icon-bar middle-bar"></span>
65            <span class="icon-bar bottom-bar"></span>
66          </button>
67
68          <div class="collapse navbar-collapse text-right" id="navbarNav">
69            <ul class="navbar-nav ml-auto flex-nowrap">
70              
71
72              <!-- Other pages -->
73              <li class="nav-item ">
74                
75                  <a class="nav-link" href="/cv/">
76                    cv</a>
77                
78              </li>
79              <li class="nav-item active">
80                
81                  <a class="nav-link" href="/articles/">
82                    articles<span class="sr-only">(current)</span></a>
83                
84              </li>
85              <li class="nav-item ">
86                
87                  <a class="nav-link" href="/books/">
88                    books</a>
89                
90              </li>
91              <li class="nav-item ">
92                
93                  <a class="nav-link" href="/policyreports/">
94                    reports</a>
95                
96              </li>
97              <li class="nav-item ">
98                
99                  <a class="nav-link" href="/projects/">
100                    projects</a>
101                
102              </li>
103              <li class="nav-item ">
104                
105                  <a class="nav-link" href="/teaching/">
106                    teaching</a>
107                
108              </li>
109              <li class="nav-item ">
110                
111                  <a class="nav-link" href="/media/">
112                    media</a>
113                
114              </li>
115              <li class="nav-item ">
116                
117                  <a class="nav-link" href="/students/">
118                    for students</a>
119                
120              </li>
121
122              <!-- Toogle theme mode -->
123              <div class = "toggle-container">
124                <a id = "light-toggle">
125                  <i class="fas fa-moon"></i>
126                  <i class="fas fa-sun"></i>
127                </a>
128              </div>
129            </ul>
130          </div>
131        </div>
132      </nav>
133    </header>
134
135    <!-- Content -->
136    <div class="container mt-5">
137      <!-- page.html -->
138        <div class="post">
139
140          <header class="post-header">
141            <h1 class="post-title">articles</h1>
142            <p class="post-description"></p>
143          </header>
144
145          <article>
146            <section class="pubs">
147  <div class="container">
148    <header class="pubs__header">
149      <h1>Peer-Reviewed Articles</h1>
150      <p class="pubs__subtitle">Guy Grossman • University of Pennsylvania</p>
151    </header>
152
153    <div id="pubs-app"></div>
154  </div>
155</section>
156
157<style>
158.pubs { padding-top: 1rem; padding-bottom: 1.5rem; background: var(--global-bg-color, #fafbfc); }
159.pubs__header { text-align: center; margin-bottom: 1rem; position: sticky; top: 0; z-index: 10; background: var(--global-bg-color, #fafbfc); padding: 0.6rem 0; border-bottom: 1px solid var(--global-divider-color, rgba(0,0,0,0.06)); }
160.pubs__subtitle { color: var(--global-text-color-light); margin: 0; }
161
162.pubs-ui { display: grid; grid-template-columns: 30% 70%; gap: 2.5%; align-items: start; }
163@media (max-width: 992px) { .pubs-ui { grid-template-columns: 1fr; } }
164
165.pubs-sidebar { position: sticky; top: 1rem; }
166@media (max-width: 992px) { .pubs-sidebar { position: static; } }
167
168.pubs-panel {
169  background: var(--global-card-bg-color, rgba(255,255,255,0.7));
170  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.08));
171  border-radius: 12px;
172  padding: 0.75rem;
173}
174
175.pubs-panel h3 { font-size: 0.95rem; margin: 0 0 0.5rem 0; }
176.pubs-field { width: 100%; border-radius: 12px; padding: 0.55rem 0.75rem; border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12)); background: var(--global-bg-color); color: var(--global-text-color); }
177.pubs-field:focus { outline: none; box-shadow: 0 0 0 3px rgba(59,130,246,0.18); border-color: rgba(59,130,246,0.45); }
178
179.pubs-list { list-style: none; padding: 0; margin: 0; }
180.pubs-list li { margin: 0.15rem 0; }
181
182.pubs-linkbtn {
183  width: 100%;
184  text-align: left;
185  border: 0;
186  background: transparent;
187  padding: 0.35rem 0.35rem;
188  border-radius: 10px;
189  color: var(--global-text-color);
190}
191.pubs-linkbtn:hover { background: rgba(127,127,127,0.10); }
192.pubs-linkbtn.is-active { background: rgba(59,130,246,0.14); }
193
194.pubs-chipwrap { display: flex; flex-wrap: wrap; gap: 0.4rem; }
195.pubs-chip {
196  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12));
197  background: transparent;
198  border-radius: 999px;
199  padding: 0.25rem 0.6rem;
200  font-size: 0.85rem;
201  color: var(--global-text-color);
202}
203.pubs-chip:hover { background: rgba(127,127,127,0.10); }
204.pubs-chip.is-active { background: rgba(59,130,246,0.14); border-color: rgba(59,130,246,0.35); }
205
206.pubs-tabs { display: inline-flex; gap: 0.5rem; padding: 0.35rem; border-radius: 999px; border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12)); background: rgba(127,127,127,0.06); }
207.pubs-tab {
208  border: 0;
209  background: transparent;
210  border-radius: 999px;
211  padding: 0.35rem 0.75rem;
212  font-size: 0.9rem;
213  color: var(--global-text-color);
214}
215.pubs-tab.is-active { background: rgba(59,130,246,0.14); }
216
217.pubs-main .pubs-card {
218  border: none;
219  border-left: 3px solid rgba(59,130,246,0.35);
220  border-radius: 0 10px 10px 0;
221  padding: 0.65rem 0.85rem;
222  margin-bottom: 1rem;
223  background: rgba(0,0,0,0.06);
224  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
225  transition: border-left-color 0.2s, box-shadow 0.2s, background 0.2s;
226}
227.pubs-main .pubs-card:hover { border-left-color: rgba(59,130,246,0.7); box-shadow: 0 4px 12px rgba(0,0,0,0.08); background: rgba(0,0,0,0.08); }
228.pubs-main .pubs-card h4 { margin: 0 0 0.2rem; font-size: 1rem; line-height: 1.35; }
229.pubs-meta { color: var(--global-text-color-light); font-size: 0.88rem; margin-bottom: 0.3rem; }
230.pubs-status { color: rgb(59,130,246); font-weight: 700; }
231.pubs-badges { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.15rem; margin-bottom: 0.35rem; }
232.pubs-badge {
233  font-size: 0.72rem;
234  padding: 0.1rem 0.4rem;
235  border-radius: 999px;
236  background: rgba(59,130,246,0.08);
237  color: var(--global-text-color);
238  border: 1px solid rgba(59,130,246,0.15);
239}
240.pubs-award {
241  background: rgba(217,164,6,0.12);
242  border-color: rgba(217,164,6,0.35);
243  color: var(--global-text-color);
244  font-weight: 600;
245}
246.pubs-award .fa-trophy { color: rgb(217,164,6); margin-right: 0.2rem; }
247
248.pubs-actions { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; margin-top: 0.35rem; }
249.pubs-action {
250  display: inline-flex;
251  align-items: center;
252  gap: 0.35rem;
253  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12));
254  background: transparent;
255  border-radius: 999px;
256  padding: 0.22rem 0.6rem;
257  font-size: 0.82rem;
258  text-decoration: none;
259  color: var(--global-text-color);
260}
261.pubs-action:hover { background: rgba(127,127,127,0.10); text-decoration: none; }
262.pubs-action--primary { border-color: rgba(59,130,246,0.35); }
263/* Normalize button weight (BibTeX is a <button>, browsers default to bold) */
264button.pubs-action { font-weight: normal; }
265
266/* Abstract <details> summary — match action-button size */
267.pubs-card details summary {
268  font-size: 0.82rem;
269  font-weight: normal;
270  cursor: pointer;
271  color: var(--global-text-color);
272}
273
274.pubs-bibtex { margin-top: 0.55rem; display: none; }
275.pubs-bibtex.is-open { display: block; }
276.pubs-bibtex pre {
277  margin: 0.5rem 0 0;
278  padding: 0.75rem;
279  border-radius: 14px;
280  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.08));
281  background: rgba(127,127,127,0.06);
282  overflow: auto;
283  font-size: 0.8rem;
284}
285
286.pubs-yearhdr { margin: 1rem 0 0.4rem; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--global-text-color-light); border-bottom: 2px solid rgba(59,130,246,0.2); padding-bottom: 0.25rem; }
287.pubs-empty { padding: 1rem; border-radius: 14px; border: 1px dashed var(--global-divider-color, rgba(0,0,0,0.18)); color: var(--global-text-color-light); }
288/* Make layout use page width nicely (scoped) */
289.pubs .container { max-width: 100%; padding-left: 2.5%; padding-right: 2.5%; }
290.pubs-main { width: 100%; min-width: 0; }
291.pubs-card { width: 100%; }
292
293/* Years as a button matrix */
294.pubs-yeargrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)); gap: 0.45rem; }
295.pubs-yearbtn {
296  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12));
297  background: rgba(127,127,127,0.06);
298  border-radius: 12px;
299  padding: 0.35rem 0.45rem;
300  font-size: 0.85rem;
301  color: var(--global-text-color);
302  text-align: center;
303  width: 100%;
304}
305.pubs-yearbtn:hover { background: rgba(127,127,127,0.12); }
306.pubs-yearbtn.is-active { background: rgba(59,130,246,0.14); border-color: rgba(59,130,246,0.35); }
307/* BibTeX panel inside card */
308.pubs-bibpanel {
309  margin-top: 0.75rem;
310  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12));
311  background: rgba(127,127,127,0.05);
312  border-radius: 14px;
313  padding: 0.75rem 0.75rem 0.6rem;
314  display: none;
315}
316.pubs-bibpanel.is-open { display: block; }
317.pubs-bibhead { display:flex; justify-content: space-between; align-items:center; gap: 0.75rem; margin-bottom: 0.5rem; }
318.pubs-bibtitle { font-size: 0.9rem; color: var(--global-text-color); margin: 0; font-weight: 600; }
319.pubs-copybtn {
320  border: 1px solid var(--global-divider-color, rgba(0,0,0,0.12));
321  background: rgba(127,127,127,0.06);
322  border-radius: 999px;
323  padding: 0.25rem 0.55rem;
324  font-size: 0.85rem;
325  color: var(--global-text-color);
326}
327.pubs-copybtn:hover { background: rgba(127,127,127,0.12); }
328.pubs-bibpre {
329  margin: 0;
330  white-space: pre-wrap;
331  word-break: break-word;
332  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
333  font-size: 0.82rem;
334  color: var(--global-text-color);
335}
336/* Hide the default al-folio page title (this CSS is embedded on this page only) */
337.post-header, h1.post-title, h1.page-title, .post-title, .page-title {
338  display: none !important;
339}
340
341
342/* =========================================================
343   FULL-WIDTH LAYOUT (page-local, al-folio safe)
344   ========================================================= */
345
346.pubs .container {
347  max-width: none;
348  width: 100%;
349  padding-left: 3vw;
350  padding-right: 3vw;
351}
352
353.pubs-ui {
354  display: grid;
355  grid-template-columns: minmax(260px, 30vw) minmax(0, 1fr);
356  gap: 3vw;
357  align-items: start;
358}
359
360.pubs-main {
361  width: 100%;
362  max-width: none;
363  min-width: 0;
364}
365
366
367
368/* =========================================================
369   BIBTEX PANEL — DENSE
370   ========================================================= */
371
372.pubs-bibpanel {
373  margin-top: 0.4rem;
374  padding: 0.45rem 0.55rem;
375  border-radius: 8px;
376}
377
378.pubs-bibhead {
379  margin-bottom: 0.25rem;
380}
381
382.pubs-bibpre {
383  font-size: 0.74rem;
384  line-height: 1.25;
385}
386
387/* =========================================================
388   YEAR HEADERS — COMPACT
389   ========================================================= */
390
391.pubs-yearhdr {
392  margin: 0.75rem 0 0.3rem;
393  font-size: 0.82rem;
394  font-weight: 700;
395}
396
397/* =========================================================
398   SIDEBAR — COMPACT
399   ========================================================= */
400
401.pubs-sidebar h3 {
402  margin-bottom: 0.3rem;
403  font-size: 0.9rem;
404}
405
406.pubs-field {
407  padding: 0.35rem 0.45rem;
408  font-size: 0.85rem;
409}
410
411.pubs-chip {
412  font-size: 0.72rem;
413  padding: 0.2rem 0.45rem;
414}
415
416.pubs-yearbtn {
417  font-size: 0.72rem;
418  padding: 0.25rem 0.3rem;
419}
420
421
422/* ==============================
423   FORCE FULL-WIDTH (al-folio)
424   ============================== */
425
426/* al-folio wraps pages in containers; remove the max-width on THIS page */
427.page-content .container,
428.post .container,
429.container {
430  max-width: none !important;
431}
432
433/* give the page some breathing room */
434.page-content .container,
435.post .container,
436.container {
437  width: 100% !important;
438  padding-left: 3vw !important;
439  padding-right: 3vw !important;
440}
441
442/* ==============================
443   LANDSCAPE GRID
444   ============================== */
445
446.pubs-ui {
447  display: grid !important;
448  grid-template-columns: minmax(240px, 22vw) minmax(0, 1fr) !important;
449  gap: 2vw !important;
450  align-items: start;
451}
452
453.pubs-main {
454  width: 100% !important;
455  max-width: none !important;
456  min-width: 0 !important;
457}
458
459.pubs-card {
460  width: 100% !important;
461  max-width: none !important;
462}
463
464.pubs-journal,
465.pubs-meta em {
466  font-weight: 500;
467  font-style: italic;
468}
469
470
471
472</style>
473
474<script src="/assets/js/publications.js" defer=""></script>
474
475
476
477          </article>
478
479        </div>
480
481    </div>
482
483    <!-- Footer -->    
484    <footer class="fixed-bottom">
485      <div class="container mt-0">
486        &copy; Copyright 2026 Guy  Grossman. Powered by <a href="https://jekyllrb.com/" target="_blank">Jekyll</a> with <a href="https://github.com/alshedivat/al-folio">al-folio</a> theme. Hosted by <a href="https://pages.github.com/" target="_blank">GitHub Pages</a>.
487Last updated: September 04, 2026.
488      </div>
489    </footer>
490
491    <!-- JavaScripts -->
492    <!-- jQuery -->
493  
493<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
493
494
495    <!-- Bootsrap & MDB scripts -->
496  
496<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha256-l/1pMF/+J4TThfgARS6KwWrk/egwuVvhRzfLAMQ6Ds4=" crossorigin="anonymous"></script>
496
497  
497<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha256-SyTu6CwrfOhaznYZPoolVw2rxoY7lKYKQvqbtqN93HI=" crossorigin="anonymous"></script>
497
498  
498<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/mdb.min.js" integrity="sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA=" crossorigin="anonymous"></script>
498
499
500    <!-- Masonry & imagesLoaded -->
501  
501<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/masonry.pkgd.min.js" integrity="sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=" crossorigin="anonymous"></script>
501
502  
502<script defer src="https://cdn.jsdelivr.net/npm/imagesloaded@4/imagesloaded.pkgd.min.js"></script>
502
503  
503<script defer src="/assets/js/masonry.js" type="text/javascript"></script>
503
504    
505  <!-- Medium Zoom JS -->
506  
506<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/medium-zoom.min.js" integrity="sha256-EdPgYcPk/IIrw7FYeuJQexva49pVRZNmt3LculEr7zM=" crossorigin="anonymous"></script>
506
507  
507<script src="/assets/js/zoom.js"></script>
507<!-- Load Common JS -->
508  
508<script src="/assets/js/common.js"></script>
508
509
510    <!-- MathJax -->
511  
511<script type="text/javascript">
512    window.MathJax = {
513      tex: {
514        tags: 'ams'
515      }
516    };
517  </script>
517
518  
518<script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-mml-chtml.js"></script>
518
519
520    <!-- Global site tag (gtag.js) - Google Analytics -->
521  
521<script async src="https://www.googletagmanager.com/gtag/js?id="></script>
521
522  
522<script>
523    window.dataLayer = window.dataLayer || [];
524    function gtag() { dataLayer.push(arguments); }
525    gtag('js', new Date());
526    gtag('config', '');
527  </script>
527<!-- Panelbear Analytics - We respect your privacy -->
528  
528<script async src="https://cdn.panelbear.com/analytics.js?site="></script>
528
529  
529<script>
530    window.panelbear = window.panelbear || function() { (window.panelbear.q = window.panelbear.q || []).push(arguments); };
531    panelbear('config', { site: '' });
532  </script>
532
533  </body>
534</html>
535

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.