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 © 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.