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

黄大仙高手论坛

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); })(); Master of Media and Strategic Communication | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Master of Media and Strategic Communication

Graduate Program On Campus

What You'll Learn

Are you interested in applied communications careers like advertising, public relations, and multimedia journalism? The MMSC鈥檚 unique combination of training in both communication strategy and media-making practice can help you achieve a competitive edge.

No media production experience? No problem! The program begins with an 8-week 鈥淏asics of Media Production鈥 course to get you up to speed.

Significant media experience but you鈥檙e not sure how to use it? Great! In the MMSC you鈥檒l harness your creativity by building strategies to reach your audience, craft messages for different platforms, and evaluate their effectiveness. Gain the skills you need to communicate with power and integrity in an ever-changing world. Join us!

Start Dates

The MMSC is currently offered on-campus and is accepting applications on a rolling basis. Cohorts start each fall and spring.

What Makes This Program Great

  • Set your own pace: Take courses both online and in the classroom, at a pace that fits your schedule. You can earn your master's degree from Calvin in as little as one year.
  • Ask important questions: Your classes are taught by committed Christian professors who will challenge you to think through tough questions about ethics in communication careers. You'll learn to advocate for the people, communities, and businesses you serve.
  • Gain real-world experience: You鈥檒l apply what you鈥檙e learning through participation in Skylight, our student-run creative media agency, working with experienced professionals to create strategies and content for real clients.
  • Loading...

Faculty

Sharon Nieuwenhuis

Director of the Master of Arts in Media and Strategic Communication
Independent Marketing & Public Relations Consultant - SN Public Relations  Senior Vice President -Red Havas Vice President, Lifestyle - Rubenstein Public Relations  Vice