, but this code // executes before the first paint, when

ÃÛÌÒapp

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Urban Studies Minor | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Urban Studies Minor

Undergraduate Program On Campus

What You'll Learn

In a world where over half the population now lives in urban areas, understanding urban contexts is more important than ever. ÃÛÌÒapp's Urban Studies minor invites you to explore the dynamic systems that shape our neighborhoods, cities, and global communities. You'll learn how politics, infrastructure, and social services intersect to influence daily life. Explore how you can be part of shaping more just and vibrant urban futures.

Rooted in a Christian perspective, the Urban Studies minor draws from a wide range of disciplines to help you see cities not just as places, but as living systems that affect people’s work, relationships, and spiritual well-being. You’ll challenge assumptions, engage deeply with communities, and seek paths toward Christ’s renewal in the heart of the city.

In the Urban Studies program, you’ll:

  • Engage with real-world urban issues through internships, jobs, and off-campus study programs.
  • Serve and learn from diverse communities, gaining insight and empathy through hands-on experience.
  • Integrate your learning with any major—whether you're studying business, sociology, environmental science, or theology.
  • Seek renewal by examining how cities can be places of justice, healing, and hope.
  • Loading...