, 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); })(); Christopher Fox | app

app

Skip to main content

Mr. Christopher Fox

Professor

Education

2012         University at Buffalo, State University Of New York, Buffalo, NY 
                  MFA, Visual Studies

2011         Central Academy Of Fine Arts, Beijing, China. 
                  Artist In Residence

2001         Grand Valley State University, Allendale, MI 
                  BFA, Emphasis In Graphic Design

Professional Experience

SELECT EXHIBITIONS

2022         TRANSFORMER STATION, Multiple Venues, Artprize, Grand Rapids
2021         ART BASEL: UNTITLED, ART. South Beach, Miami, FL
2020         CHALLENGE PRIVILEGE, with Kyd Kane, Poet Laureate of Grand Rapids
2019         100 YEARS, 100 LINES, Urban Institute of Contemporary Art, Grand Rapids
2018         COMMUNITY IS A LANGUAGE, SITE:LAB @ 415 FRANKLIN, Grand Rapids
                EMINENT DOMAIN, Open Source Gallery, Brooklyn, NY
2017         ART BASEL: UNTITLED, ART. South Beach, Miami, FL
2016         POWERS OF 1OO, Rumsey Street Project, Grand Rapids
2015         EXCHANGE, DesignPhiladelphia, Philadelphia Center for Architecture
                DESIGN CITIES: DETROIT, Museum of Contemporary Art, Detroit
2014         DESIGN INQUIRY, Vinalhaven, ME
­­­2012         THE DREAM BEFORE, “CURIOSITY SHOP”, SiTE:LAB @ 54 JEFFERSON, Grand Rapids
                EVERYTHING SIGNS, Silo City, Buffalo, NY
2011         I SEEK, Central Academy of Fine Art, Beijing, China
2010         VIGILANCETE: A TWO FACED VIGNETTE, Buffalo, NY

 

SELECT CURATORIAL PROJECTS

2023         THE TYPOGRAPHY EXHIBITION, app Covenant Fine Arts Center Gallery, Grand Rapids
                CALVIN STUDENT DESIGN SYMPOSIUM, app, Grand Rapids
                DICTATE AND PERMIT, app Graphic Design Thesis Exhibtion, Grand Rapids
                ON THE BEAM, app Design and Printmaking Student Exhibition, Grand Rapids
2022         IN BETWEEN, app Graphic Design Thesis Exhibtion, Grand Rapids
2019         TOO MUCH, NOT ENOUGH, app / Michigan State University co-exhibition, 106 Gallery, Grand Rapids
2017         BAD CAMEL PRESS: LETTERPRESS EXHIBITION, Scene MetroSpace, East Lansing, MI
2016         CONSTRAINT: A THESIS EXHIBITION, Grand Rapids
2015         IN CONTENT: SENIOR SEMINAR EXHIBITION, Grand Rapids
                TYPE B: A STUDENT TYPOGRAPHY EXHIBITION, Grand Rapids
                DATA 1, VISUAL DATA: KCAD STUDENT EXHIBITION
2014         THE 4TH FLOOR: KCAD STUDENT EXHIBITION
2013         WORKFLOW, SiTE:LAB @ 54 JEFFERSON, Grand Rapids
2009         DEGREE SHOW: GVSU BFA Graphic Design Thesis Exhibition

Academic Interests

  • Visual Culture
  • Communication Design
  • Graphic Design
  • Brand Design