, 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); })(); Student Experience Geology, Geography, and Environment | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Student Experience

The ÃÛÌÒapp GEO community is a tight-knit group of explorers who work, learn and discover together. Join us for aÌýdepartment event, get a job working alongside our professors, or go abroad on an off-campus program.

Connect

  • See a week in the life of our students through their own eyes onÌý
  • Get to know our GEO students and alumni and get an inside look into the ÃÛÌÒapp student experience with our page.

Join the GEO Community

FromÌýthe classroom to the common room, you will find a home in GEO. As an outdoor department exploring Earth, we find joy working together on projects of all kinds.

Field Trips

Explore gypsum mines, rock quarries, sand dunes and more as part of your GEO classes.

Student Employment

We employ more students than any other department on campus. Get hands-on experience in your chosen field.

Research

Find opportunities to do research and read past student research reports.

Off-campus Programs

Be immersed in the biogeography of Alaska or study the geology of the desert Southwest.

Banff Mountain Film Festival

Experience the vertical life: each year, we bring you a whole evening of thrills, excitement, and storytelling with the Climbing Film Tour.

The tour shows some of the best outdoor films shown at the Banff Mountain Film Festival in Banff, Canada, each fall. The films range from high-adrenaline outdoor adventure stories (climbing, mountain biking, kayaking, etc.) to thoughtful studies of mountain cultures and environmental issues around the world. The tour is what would happen if X-Games teamed up with National Geographic.

Ticket proceeds support our environmental field courses.

Learn more and get tickets

Image
The Climbing Film Tour poster, with a man climbing a rock cliff.