, 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); })(); Summer Camps | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Summer Camps

Table of Contents


Registration and confirmation

Applications will be reviewed on a first-come, first-served basis, with notifications of acceptance sent by email. Applications received after June 1st will be honored only if space is available and placed on a wait list, based on the date received by the Chemistry and Biochemistry Department. If a spot opens up for a camper, applicants will be notified as soon as possible regarding the opportunity.

Cancellation policy

Prior to June 1st, 90% of the camp fee will be refunded upon receipt of a written request for cancellation. After June 1st, refund requests will be handled on a case-by-case basis; the camp program director (Prof. Larry Louters) will determine all final decisions regarding refunds. The college may cancel or postpone any session because of insufficient enrollment or other unforeseen circumstances. If a session is cancelled or postponed by the university, the university will refund 100% of registration fees.

Fees

All instruction, supervision, equipment/materials, lab supplies, and a T-shirt are covered by the fee. Snacks and lunches are not provided.

Liability

Activities and demonstrations in these programs are designed to be safe and students are taught standard laboratory safety techniques. However, the university does not provide insurance for its camps and its liability must be based on fault. Health and insurance information will be required from all participants.


Audience
Prospective Students